k-means アルゴリズムの一般的なベスト プラクティスです (注: k-means には複数のアルゴリズムがあります。最適解を見つけることは NP 困難であると報告されているため、これらはヒューリスティックです)。異なるランダムな初期中心で複数の反復を実行します。 .
そのため、ランダム性は通常、最初の中心の選択に関係しています。K-means++ は、幸いなことにまだランダム化されている初期シードを選択する別の方法です(ランダム化されていないものもあるため、複数回実行して結果を改善しようとすることはできません) が、より良い開始状況を選択しようとします。
最初の手段以外のランダム性の別のソースを探しているのはなぜですか?
クラスタリングに Weka はお勧めしません。分類には問題ありませんが、クラスタリングやその他の教師なしメソッドのサポートはかなり制限されています。代わりに、ELKI を見てください。たとえば、彼らのk-meansパッケージは非常に網羅的です。初期手段を選択するための最大6つの異なる方法があります。ほとんどがランダム化されています。最も単純で最も一般的な初期化は、おそらくデータベースから k 個のランダムなオブジェクトから開始することです。IIRC、MacQueen は最初の k 個のオブジェクトを使用したため、バリアントはランダム化されません (最初にデータ セットをシャッフルしない限り、これはかなりの数のアルゴリズムにとって実際には良い考えです - ソートされたデータを使用しないでください!) したがって、これらのイニシャライザのほとんどには-kmeans.seed
再現性のある結果を得るために、乱数発生器のシードを制御できるパラメーターです。