問題タブ [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.
apache-spark - Spark: ベルヌーイ ナイーブ ベイズの確率と AUC を取得するにはどうすればよいですか?
私はBernoulli Naive Bayes
コードを使用して実行しています:
私の質問は、クラス 0 (または 1) へのメンバーシップの確率を取得し、AUC をカウントするにはどうすればよいかということです。このコードを使用していた場所とLogisticRegressionWithSGD
同様の結果を得たい:SVMWithSGD
残念ながら、このコードは では機能しませんNaiveBayes
。
scala - ベクトルの列を合計するカスタム集計関数を定義する方法は?
ID
typeInt
とVec
type Vector
( )の 2 つの列の DataFrame がありますorg.apache.spark.mllib.linalg.Vector
。
DataFrame は次のようになります。
groupBy($"ID")
ベクトルを合計して、各グループ内の行に集計を適用したいと思います。
上記の例の望ましい出力は次のようになります。
利用可能な集計関数は機能しません。たとえばdf.groupBy($"ID").agg(sum($"Vec")
、ClassCastException が発生します。
ベクトルや配列の合計、またはその他のカスタム操作を実行できるカスタム集計関数を実装する方法は?
python - 初期GaussianMixtureModelでGMMをトレーニングするには?
Spark の MLLIB を使用して、Python で指定された初期モデルを使用してガウス混合モデル (GMM) をトレーニングしようとしています。pyspark の Doc 1.5.1 には、GaussianMixtureModel オブジェクトを GaussianMixture.train メソッドへの「initialModel」パラメータの入力として使用する必要があると記載されています。独自の初期モデルを作成する前に (たとえば、Kmean の結果を使用する予定です)、単純にこのシナリオをテストしたかっただけです。そこで、1 番目のトレーニングの出力から GaussianMixtureModel を使用して 2 番目のトレーニングを初期化しようとします。しかし、この簡単なシナリオではエラーがスローされます。ここで何が起こっているのかを判断するのを手伝ってくれませんか? どうもありがとうギヨーム
PS: Hadoop 2.6 で (py) spark 1.5.1 を実行します
以下は、簡単なシナリオ コードとエラーです。
そして、これはエラーで出力されます:
scala - Spark での DataFrame 行の再グループ化/連結
次のような DataFrame があります。
「id」に基づいて機能を再グループ化して、次のものを取得できるようにします。
これは、前述の DataFrame を生成するために使用しているコードです
私は RDD と DataFrames の両方でさまざまなことを試してきました。これまでで最も「有望な」アプローチは、「id」に基づいてフィルタリングすることでした
しかし、現在、2 つのボトルネックがあります。
1)「id」が持つ可能性のあるすべての個別の値のフィルタリングを自動化する方法は?
以下はエラーを生成します。
2) 特定の「ID」に関して共通の「機能」を連結する方法。私はまだ1)で立ち往生しているので、あまり試していません
どんな提案でも大歓迎です
注: 明確にするために、「id」の出現ごとに「ラベル」は常に同じです。混乱して申し訳ありませんが、私のタスクの簡単な拡張は、「ラベル」をグループ化することでもあります(更新された例)
scala - Spark Multiclass-classification での目に見えないカテゴリ変数と MaxBins 計算の処理
以下は、RandomForest マルチクラス分類モデルのコードです。コードに見られるように、CSV ファイルから読み取り、さまざまな変換を行っています。
カテゴリの最大数を計算し、それをパラメーターとして RF に渡します。これにはかなりの時間がかかります。設定するパラメーターや、モデルが最大カテゴリを自動的に推測する簡単な方法はありますか?1000 を超える可能性があるため、それらを省略することはできません。
その場合、StringIndexer は機能しないため、予測のために新しいデータの見えないラベルを処理するにはどうすればよいですか。以下のコードは単なるデータの分割ですが、将来的には新しいデータも導入する予定です
/li>
scala - 複数の列で Spark ML の OneHotEncoder を使用する
一度に複数の文字列列にインデックスを付けることができるパイプラインを作成できましたが、インデックス作成とは異なり、エンコーダーは推定器ではないため、それらのエンコードに行き詰まっています。ドキュメント。
OneHotEncoder オブジェクトには fit メソッドがないため、インデクサーと同じパイプラインに配置しても機能しません。パイプラインで fit を呼び出すと、エラーがスローされます。また、パイプライン ステージの配列で作成したパイプラインで変換を呼び出すこともできませんone_hot_encoders
。
エンコードするすべての列に対して、その変換自体を個別に作成して変換を呼び出すことなく、OneHotEncoder を使用するための適切な解決策が見つかりませんでした
apache-spark - Spark の機能正規化アルゴリズム
Spark の正規化アルゴリズムを理解しようとしています。私の小さなテスト セットには 5 つのベクトルが含まれています。
feature-0、`feature-1 などのすべての値にわたって、各ベクトル フィーチャが正規化される場所がnew Normalizer().transform(vectors)
作成されると予想されます。
結果のセットは次のとおりです。 JavaRDD
(v-mean)/stdev
すべての元の値 7000.0 は、異なる「正規化された」値になることに注意してください。また、たとえば、値が 、 、 、 、 の場合、どのように計算され1.357142668768307E-5
ましたか? さらに、機能を削除すると、結果が異なります。この問題に関するドキュメントは見つかりませんでした。
実際、私の質問は、RDD のすべてのベクトルを正しく正規化する方法です。.95
1
-1
-.95
0