SparkのmlライブラリからHashingTFから取得したDataFrame [SparseVector]があります。 - 機能の1 = 2147483647数(最大)SparkのDataframe [SparseVector]からすべての非ゼロ値を取得するには?
root
|-- docId: string (nullable = true)
|-- docNGrams: array (nullable = true)
| |-- element: string (containsNull = true)
|-- HashedNGrams: vector (nullable = true)
HashedNGrams 2^31の疎ベクトルである:以下私のスキーマです。 HashedNGramsの例は次のとおりですので、いくつかの操作を行うには何でも、ベクタ、一覧[INT]このDATAFRAMEから
70921,235056
6067499,8758008
..... , ...
:私が欲しいもの
[doc/00000.txt,(2147483647,[70921,235056,....],[1.0,2.0,...])
[doc/00001.txt,(2147483647,[6067499,8758008,....],[1.0,1.0,...])
......
......
は値だけを取得することですデータ。私はこれまでに試したことは次のとおりです: 1)それを高密度のベクトルに変換しようとしましたが、限界を超えてしまいました。VM例外 2)ここで見つけたすべての可能な解決策を試しました。それらはすべて私に誤りを与える。 3)これをファイルに保存してから、これらの値をStringとして取得しようとしました(これはまだ完了していませんが、非常に間違ったアプローチです)。
助けてください!
あなたの場合、 '70921,235056'は値ではないインデックスです。 – zero323