問題タブ [apache-spark-ml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
14421 参照

apache-spark - Pyspark と PCA: この PCA の固有ベクトルを抽出するにはどうすればよいですか? 彼らが説明している分散の量をどのように計算できますか?

次のように、pyspark (ライブラリを使用) を使用してSpark DataFramewithモデルの次元を削減しています。PCAspark ml

ここdataで、 はラベルが付けられたSpark DataFrame1 つの列で、3 次元の です。featuresDenseVector

フィッティング後、データを変換します。

この PCA の固有ベクトルを抽出するにはどうすればよいですか? 彼らが説明している分散の量をどのように計算できますか?

0 投票する
1 に答える
2268 参照

apache-spark - Spark が netlib から ARPACK または BLAS をロードしない

データの SVD を計算しています。しかしspark-submit、ログ ファイルの状態を使用して Spark アプリケーションを送信するたびに、次のようになります。

with フラグを使用して Spark をビルドし-Pnetlib-lgpl、jar ファイルを作成するときに sbt ファイルに netlib 依存関係も含めます。

GCC と Gfortran のバージョンはgcc version 4.8.0 (GCC). BLAS、LAPACK、ATLAS もインストールし、netlib サイトの指示に従いました: https://github.com/fommil/netlib-java

としてインポートすると、spark-shellインポートされimport com.github.fommil.netlib._なかったと表示されません。

私はしばらくこの問題をデバッグしようとしましたが、アイデアがありません。誰かが親切にこれを理解するのを手伝ってくれます。

0 投票する
1 に答える
6632 参照

python - インデックスと文字列の対応を維持するスパーク文字列インデクサー

Spark の StringIndexer は非常に便利ですが、生成されたインデックス値と元の文字列の間の対応を取得する必要があるのはよくあることであり、これを実現するための組み込みの方法が必要なようです。Spark のドキュメントにある次の簡単な例を使用して説明します。

この単純化されたケースでは、次のことがわかります。

すべてうまくいきますが、多くのユースケースで、元の文字列とインデックス ラベルの間のマッピングを知りたいと思っています。私が考えることができる最も簡単な方法は、次のようなものです。

必要に応じて、結果を辞書などに保存できます。

私の質問は次のとおりです。これは非常に一般的なタスクであり、文字列インデクサーが何らかの方法でこのマッピングを保存していると推測していますが (もちろん間違っている可能性もあります)、上記のタスクをより簡単に達成する方法はありますか?

私の解決策は多かれ少なかれ簡単ですが、大規模なデータ構造の場合、(おそらく) 回避できる余分な計算が必要になります。アイデア?

0 投票する
1 に答える
2020 参照

scala - Spark ML NaiveBayes がトレーニング データとは異なるラベルを出力するのはなぜですか?

Apache Spark ML (バージョン 1.5.1)のNaiveBayes分類子を使用して、いくつかのテキスト カテゴリを予測します。ただし、分類器は、トレーニング セットのラベルとは異なるラベルを出力します。私はそれを間違っていますか?

たとえば、Zeppelin ノートブックに貼り付けることができる小さな例を次に示します。

小さなプログラムからの出力:

予測されたラベルのセット {0.0, 1.0, 2.0} は、トレーニング セットのラベル {100.0, 200.0, 300.0} とは素です。

質問: これらの予測されたラベルを元のトレーニング セットのラベルにマッピングするにはどうすればよいですか?

おまけの質問: 他のタイプはラベルと同じように機能するのに、なぜトレーニング セットのラベルは double でなければならないのですか? 不要に思えます。

0 投票する
1 に答える
1633 参照

python - pyspark で ALS の入力データを変換する

推奨用の入力データは次のようになります。

の形式に従っています(user_id, item_id, score)

私の理解が正しければ、spark の ALS はトレーニング前にuser_id,item_idを整数に変換する必要がありますか? もしそうなら、私が今考えることができる唯一の解決策は、辞書を使用して、すべてを整数にマップするuser_idことitem_idです

しかし、それを行うための他のエレガントな方法があるかどうか疑問に思っていましたか? ありがとう!

0 投票する
1 に答える
425 参照

scala - Spark は、スケーリングされた係数を持つ (LogisticRegression) モデルを返します

LogisticRegression合成的に生成されたデータでパフォーマンスをテストしています。入力として持っている重みは

切片がなく、3 つの特徴があります。1000それぞれのランダムな正規分布を想定して合成的に生成されたデータポイントでトレーニングした後、LogisticRegression取得した Spark モデルの重みは次のとおりです。

各重みが元の値に対して「3」に近い係数でスケーリングされていることがわかります。この背後にある理由を推測することはできません。コードは次のように単純です。

誰かがここで怪しいものに光を当てることができれば幸いです.

敬具、ニキル

0 投票する
3 に答える
10653 参照

scala - Spark、Scala、DataFrame: 特徴ベクトルの作成

DataFrameのようなものがあります:

userID個別のカテゴリの数は 10 です。それぞれの特徴ベクトルを作成し、不足しているカテゴリをゼロで埋めたいと思います。

したがって、出力は次のようになります。

これは単なる例です。実際には、約 200,000 の一意のユーザー ID と 300 の一意のカテゴリがあります。

機能を作成する最も効率的な方法は何DataFrameですか?