問題タブ [apache-spark-mllib]
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.
scala - --master が local[4] または yarn-client に設定されているかどうかに基づいて、Spark プログラムの動作が異なります
movielens データセットを使用して、ムービー情報を spark プログラムに読み込み、次のコード スニペットを使用して同じ情報を出力しています。
コマンド spark-submit --master local[4] --class "MovieApp" movie-recommender.jar を使用してコードを実行すると、期待どおりの出力が得られます
*root@philli ml]# /usr/lib/spark/bin/spark-submit --master local[4] --class "MovieApp" movie-recommender_2.10-1.0.jar
14/12/05 00:17:37 WARN NativeCodeLoader: お使いのプラットフォームのネイティブ Hadoop ライブラリを読み込めません... 該当する場合は組み込み Java クラスを使用します
映画の数:3883
ID:2020年タイトル:危険な関係 (1988)
ID:2021年タイトル:デューン (1984)
ID:2022 Title:キリストの最後の誘惑 (1988)
ID:2023 タイトル:ゴッドファーザー: パート III、ザ (1990)
ID:2024年タイトル:Rapture, The (1991)
ID:2025 作品名:ロリータ (1997)
ID:2026年タイトル:不穏な行動 (1998)
ID:2027 タイトル:マフィア!(1998)
ID:2028 Title:プライベート ライアン (1998)
ID:2029年タイトル:Billy's Hollywood Screen Kiss (1997)
... *
しかし、コマンドを使用してhadoopクラスターで同じことを実行すると
spark-submit --master yarn-client --class "MovieApp" movie-recommender.jar 出力は以下のように異なります (映画の詳細はありません???)
*[root@philli ml]# /usr/lib/spark/bin/spark-submit --master yarn-client --class "MovieApp" movie-recommender_2.10-1.0.jar
14/12/05 00:21:05 警告 NativeCodeLoader: プラットフォームのネイティブ Hadoop ライブラリを読み込めません... 該当する場合は組み込み Java クラスを使用します 14/12/05 00:21:07 警告 BlockReaderLocal: 短絡libhadoop をロードできないため、ローカル読み取り機能は使用できません。--args は非推奨です。代わりに --arg を使用してください。ムービー数:3883 [root@philli ml]# *
ローカルで実行する場合とクラスターで実行する場合でプログラムの動作を変更する必要があるのはなぜですか....コマンドを使用してhadoop用にspark-1.1.1を構築しました
mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.0 -DskipTests クリーン パッケージ
私が使用しているクラスターは HDP2.1 です
サンプルの movies.dat ファイルは次のとおりです。
1::トイ・ストーリー (1995)::アニメーション|子供向け|コメディ
2::ジュマンジ (1995)::アドベンチャー|子供|ファンタジー
3::Grumpier Old Men (1995)::コメディ|ロマンス
4::息を吐くのを待っている (1995)::コメディ|ドラマ
5::花嫁の父 パート II (1995)::コメディ
6::Heat (1995)::アクション|犯罪|スリラー
7::サブリナ (1995)::コメディ|ロマンス
8::トムとハック (1995)::アドベンチャー|子供向け
9::サドンデス (1995)::アクション
10::ゴールデンアイ (1995)::アクション|アドベンチャー|スリラー
scala - ScalaでArray[(Double, Double)]をArray[Double]に変換する方法は?
Spark の MLlib (v1.1.0) と Scala を使用して、ポイント (経度と緯度) を含むファイルに k-means クラスタリングを適用しています。私のファイルには、コンマで区切られた 4 つのフィールドが含まれています (最後の 2 つは経度と緯度です)。
これは、Spark を使用した k-means クラスタリングの例です: https://spark.apache.org/docs/1.1.0/mllib-clustering.html
私がやりたいことは、HDFS の特定のディレクトリにあるファイルの最後の 2 つのフィールドを読み取り、それらをRDD<Vector>
KMeans クラスで次のメソッドを使用する o に変換することです。
train(RDD<Vector> data, int k, int maxIterations)
これは私のコードです:
val data = sc.textFile("/user/test/location/*")
val parsedData = data.map(s => Vectors.dense(s.split(',').map(fields => (fields(2).toDouble,fields(3).toDouble))))
しかし、spark-shell で実行すると、次のエラーが発生します。
エラー: オーバーロードされたメソッド値が代替手段で密集しています: (値: Array[Double])org.apache.spark.mllib.linalg.Vector (firstValue: Double,otherValues: Double*)org.apache.spark.mllib.linalg.Vector はできません(Array[(Double, Double)]) に適用される
したがって、Array[(Double, Double)] を Array[Double] に変換する方法がわかりません。2 つのフィールドを読み取って に変換する別の方法があるかもしれませんがRDD<Vector>
、何か提案はありますか?
java - apache spark MLLib:文字列機能のラベル付きポイントを構築する方法は?
ドキュメントのセットを入力として受け取る Spark の MLLib を使用して NaiveBayes 分類器を構築しようとしています。
機能としていくつかのもの (つまり、作成者、明示的なタグ、暗黙のキーワード、カテゴリ) を入れたいのですが、ドキュメントを見ると、aLabeledPoint
には double のみが含まれているようです。つまり、 のように見えLabeledPoint[Double, List[Pair[Double,Double]]
ます。
代わりに、コードの残りの部分からの出力として得られるものは、のようなものになりますLabeledPoint[Double, List[Pair[String,Double]]
。
自分で変換できましたが、奇妙に思えます。MLLib を使用してこれを処理するにはどうすればよいですか?
答えはHashingTF
クラス (つまり、ハッシュ機能) にあると思いますが、それがどのように機能するのかわかりません。何らかの容量値が必要なようですが、キーワードとトピックのリストは実質的に制限されていません (または、より良いのは不明です)。始まり)。
apache-spark - Apache Spark の Mllib のロード
Mllib を使用して非常に単純な scala スタンドアロン アプリをビルドしようとしていますが、プログラムをビルドしようとすると次のエラーが発生します。
scala - MLLIb: モデルの保存と読み込み
私は使用してLinearRegressionWithSGD
おり、モデルの重みと切片を保存しています。
重みを含むファイルの形式は次のとおりです。
インターセプトを設定せずにトレインを使用しているため、インターセプトは 0 であり、現時点では無視できます。ここで、新しいモデル オブジェクトを初期化し、上記のファイルから保存した重みを使用したいと思います。CDH 5.1を使用しています
これらの行に沿ったもの:
次に、使用は次のとおりです。
どうすればそれを行うことができますか?
apache-spark - spark mllibでアイテムベースのレコメンデーションを行うには?
Mahout では、API メソッドを使用したアイテム ベースのレコメンデーションがサポートされています。
しかし、Spark Mllib では、ALS 内の API は推奨される製品を取得できるようですが、ユーザー ID は次の方法で提供する必要があります。
mahout がアイテムベースのレコメンデーションを実行する方法と同様に、ユーザー ID 情報を提供する必要なく、類似の製品に基づいて推奨製品を取得する方法はありますか?
apache-spark - MLLib の線形回帰 o/p の解釈
LIBSVM 形式を使用して、1 ベースのインデックスを使用した入力特徴ベクトルを指定します。回帰を実行すると、o/p は 0-indexed ベースです。私は、これらのインデックスをそれらが立っているものにマップするマスタールックアップファイルを持っています。ただし、マッピング中に回帰結果に 1 ではなく 2 のオフセットを追加する必要があります。たとえば、回帰出力ファイルから 800 のインデックスをマッピングするには、マスター ルックアップ ファイルで 802 を探します。オフセット 1 の追加は理解できますが、オフセット 2 の追加が正常に機能する理由はわかりません。他の人もこのように見えましたか?
apache-spark - KMeans を固定シードで実行する
MLLIB (Apache Spark) の KMeans アルゴリズムを実行したいのですが、再現可能な結果が得られます。
固定シードで MLLIB (Apache Spark) の KMeans を実行することは可能ですか? どのように?
よろしくお願いいたします。