2017-08-21 3 views
-3

コード実行に時間がかかるという問題があります。私はコーディングのためにPythonを使用していますし、マシン学習ライブラリとしてscikitを学んでいます。私の問題は、k-Meansの計算に時間がかかることです(基本的に、400クラスタでグループ化するために約3000のデータポイントがあります)。この方法は約250回繰り返される。タイミングに関しては、終了するのに約40分かかります。どのようにそれを加速するための任意の提案? ありがとうございます。scikit-learnライブラリのk-Meansアクセラレーション

+0

あなたのC++タグに関するコメント。これにはどのようにC++が関係していますか? – WhiZTiM

+0

Pythonよりも優れているC++で書かれているかもしれません。 – user8058941

+0

コンテキスト情報と再現性のある小さなサンプルコードを提供できますか? –

答えて

1

すべてのユースケースに対して簡単にスピードアップが可能な場合は、実装されています。

私たちはあなたのデータの統計情報や何を正確にやっているのを知っていませんが、特に、パラメータを調整することがあります:

  • 並列処理:n_jobs(のみリニアスピードアップ、より多くのメモリ)
  • INIT-アルゴリズム:反復のinit
  • 番号:max_iter(線形スピードアップ、おそらくあまり正確で)開始の
  • 番号:n_init(線形スピードアップ、おそらく以下accur ate)

メモリで許可されている場合は、precompute_distancesでも試すことができます。

さらに重要:user-guideでも、ユースケースが適切ではない(クラスタが多すぎる)と説明しています。

または、別の方法を試してください:Mini Batch K-Means

関連する問題