問題タブ [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 - RandomForest モデルを交差検証する方法は?
いくつかのデータでトレーニングされているランダム フォレストを評価したいと考えています。Apache Spark に同じことを行うためのユーティリティはありますか、それともクロス検証を手動で実行する必要がありますか?
pyspark - ML Spark とデータ フレームによる暗黙的な推奨
暗黙的な評価でレコメンダーを構築するために、Spark と Dataframes で新しい ML ライブラリを使用しようとしています。私のコード
ただし、このエラーで実行されます
pyspark.sql.utils.AnalysisException: 指定された入力列ユーザー、アイテムの「評価」を解決できません。
だから、データフレームを定義する方法がわからない
python - PySpark で複数の機能をエンコードして組み立てる
Spark でデータを読み込んで処理するために使用している Python クラスがあります。やらなければならないさまざまなことの中で、Spark データフレームのさまざまな列から派生したダミー変数のリストを生成しています。私の問題は、必要なことを達成するためにユーザー定義関数を適切に定義する方法がわからないことです。
私は現在、基礎となるデータフレームRDDにマップされたときに問題の半分を解決するメソッドを持っています(これはより大きなdata_processor
クラスのメソッドであることを思い出してください):
基本的に、これが行うことは、指定されたデータフレームに対して、指定された列のカテゴリ変数値を取得し、これらの新しいダミー変数の値のリストを返すことです。つまり、次のコードです。
次のようなものを返します。
これはまさに、必要なダミー変数のリストを生成するという点で私が望んでいることですが、ここに私の質問があります: (a) Spark SQL クエリで使用できる同様の機能を持つ UDF を作成するにはどうすればよいですか (または他の方法で) 、私は推測します)、または(b)上記のマップから得られたRDDを取得し、それをuser_dataデータフレームに新しい列として追加しますか?
feature_array
いずれにせよ、私がする必要があるのは、上記の関数の出力 (または機能的に同等のもの) を含む新しい列 (と呼びましょう) とともに、user_data の列を含む新しいデータフレームを生成することです。
scala - spark.ml パイプラインで推定属性にアクセスすることは可能ですか?
Spark 1.5.1 に spark.ml パイプラインがあります。これは、一連の変換器とそれに続く k-means 推定器で構成されています。パイプラインのフィッティング後にKMeansModel .clusterCentersにアクセスできるようにしたいのですが、方法がわかりません。sklearnのpipeline.named_steps機能に相当するspark.mlはありますか?
2つのオプションを提供するこの回答を見つけました。最初の方法は、k-means モデルをパイプラインから取り出して個別に適合させた場合に機能しますが、それではパイプラインの目的が少し損なわれます。2 番目のオプションは機能しませんerror: value getModel is not a member of org.apache.spark.ml.PipelineModel
。
編集:パイプラインの例:
だから今fitKmeans
はタイプorg.apache.spark.ml.PipelineModel
です。私の質問は、このパイプラインに含まれる k-means モデルによって計算されたクラスター センターにアクセスするにはどうすればよいですか? 上記のように、パイプラインに含まれていない場合、これは で実行できますfitKmeans.clusterCenters
。
machine-learning - spark.ml が spark.mllib アルゴリズムを実装しないのはなぜですか?
Spark MLlib Guideに従って、 Spark には 2 つの機械学習ライブラリがあることがわかります。
spark.mllib
、RDD の上に構築されます。spark.ml
、データフレームの上に構築されます。
thisおよびthis question on StackOverflow によると、データフレームは RDD よりも優れている (そして新しい) ため、可能な限り使用する必要があります。
問題は、一般的な機械学習アルゴリズム (例: Frequent Pattern Mining、Naive Bayesなど)を使用したいのですが、 spark.ml
(データフレームの場合) そのようなメソッドを提供せず、spark.mllib
(RDD の場合) のみがこのアルゴリズムを提供することです。
データフレームが RDD よりも優れており、参照されているガイドで の使用が推奨されている場合、そのライブラリにspark.ml
一般的な機械学習手法が実装されていないのはなぜですか?
ここで欠けている点は何ですか?
apache-spark - チェックポイント RDD ReliableCheckpointRDD には、元の RDD とは異なる数のパーティションがあります
2 台のマシンの Spark クラスターがあり、Spark ストリーミング アプリケーションを実行すると、次のエラーが発生します。
HDFS/Cassandra/その他のデータ ストアではないファイル システムにチェックポイント ディレクトリを指定するにはどうすればよいですか?
私は2つの可能な解決策を考えましたが、それらをコーディングする方法がわかりません:
両方のワーカーに対してローカルな 1 つのリモート ディレクトリがある
両方のワーカーにリモート ディレクトリを指定する
助言がありますか ?
apache-spark - DataFrame で複数の特徴ベクトルをマージするには?
Spark ML トランスフォーマーを使用して、DataFrame
各行が次のように表示される場所にたどり着きました。
ここtext_features
で、 は項の重みのスパース ベクトル、color_features
は小さな 20 要素 (ワンホット エンコーダー) の色の密なベクトルでtype_features
あり、型のワンホット エンコーダーの密なベクトルでもあります。
これらの機能を 1 つの大きな配列にマージして、2 つのオブジェクト間のコサイン距離などを測定するには、(Spark の機能を使用して) どのようなアプローチがよいでしょうか?