2016-06-11 13 views
0

私は、PythonとPythonのScikit学習機械学習APIを使用してKNN(K Nearest Neighbors)アルゴリズムを学習する機械で作業していました。Scikit-learn KNN(K最近傍)Apache Sparkを使用して並列化

私は玩具のデータセットでサンプルコードを作成しました。単純にpythonとScikit-learnを使用し、私のKNNは正常に動作しています。しかし、私たちが知っているように、Scikit-learn APIは単一のマシンで動作するように構築されているため、一度私のおもちゃのデータを何百万ものデータセットに置き換えると、出力パフォーマンスが低下します。

Scikit-learn APIでsparkを使用してマシンの学習処理を並列に分散する多くのオプション、ヘルプ、コード例を検索しましたが、適切な解決策や例が見つかりませんでした。

Apache SparkとScikit-learn APIのK Nearest Neighborsのパフォーマンスをどのように向上させることができますか教えてください。

ありがとうございます!

+0

あなたの質問は非常に幅広いです。しかし、私はこのポストがあなたを助けるかもしれないと思う[Sci-kitはApache Sparkで学ぶ](https://databricks.com/blog/2016/02/08/auto-scaling-scikit-learn-with-apache-spark .html) –

+0

こんにちは@AlbertoBonsanto、私はあなたが与えたリンクを通過しましたが、私はScikitを学ぶKNNをSparkでスケールする方法を見つけません。 Spikの公式WebサイトでScikitの利用可能な第三者のパッケージを使用していますが、APIについてはわかりませんし、適切な例について多くの助けを払っていません。 – Nishan

答えて

0

よく討議されている通りhttps://issues.apache.org/jira/browse/SPARK-2336ここでは、MLLib(Machine Learning Library for Apache Spark)にはKNNの実装がありません。 https://github.com/saurfang/spark-knnを試すことができます。

+0

こんにちはKrishna、Yes Spark MLlibはKNNをサポートしていません。しかしここで私は機械学習にSparkのMLlibを使用していません。私はPythonとScikitを使ってKNNを学んでいます。しかし、問題は、データセットと予測を訓練するために時間がかかり、データセットが大量になることです。だから私は、私のプロセス時間を短縮する私の既存のPython KNN実装でSparkの配布力を活用したいと思います。 – Nishan

+0

ここでは、スパークは、グリッド検索のようなハイパーパラメータ最適化テクニックにのみ役立ちます。あなたが求めているものを達成できるかどうかはわかりません。 –

+0

こんにちはクリシュナ、そうです。しかし、私は、モデル処理を別々のバッチに分割し、スパークを使ってすべてのバッチ処理をクラスタに並列化することを考えていました。私は並列性を達成できると思っていましたが、実際のデータでそれを試して、それが処理時間に影響を与えるかどうかを見なければなりません。ありがとう。 – Nishan

関連する問題