-1
私は約100万行を持っており、それらをクラスタリングする必要があります。私はランダムサンプルを描画し、樹状図を得るために階層的クラスターを計算することから始めました。これで、そこにはいくつのクラスタがあるのかという考えがあります。階層的クラスタリングからk-meansの初期シード
ここでは、前のステップ階層クラスタリングの初期シードを使用してサンプル全体でK-Meansクラスタリングを使用したいと考えています。しかし、私はそれらの最初の種子をどのように入手するのか知りません。階層的クラスタリングのためのコードの下
:
from scipy.cluster.hierarchy import linkage
from sklearn import preprocessing as prep
seed = 85
df_s = df.sample(frac=0.01, replace=False)
df_s = df_s.reset_index(drop=True)
scaler = prep.MinMaxScaler()
df_std = scaler.fit_transform(df_s[clmns])
Z = linkage(df_std, 'ward')
が続いてK-手段のために、私は次のように私はそれを呼び出すことができます知っている:
from scipy.cluster.vq import kmeans2
centroid, label = kmeans2(df[clmns], 3)
私はその引数minit
はNXP行列を挿入することがある知っています種と一緒に、しかし、それは私にそれらを得る方法が明確ではありません。
この質問はもともとクロスバリデーションに投稿されました。しかし、それはプログラミングに関するものなので、ここに投稿することをお勧めしました。階層的クラスタリング以来
k-手段の悪い出発点であることを詳しく教えてください。私たちはクラスタリングのためにこれを行うことを考えています:centamplid ==> kmeans – Romain
サンプルをサンプリング=> k-meansをサンプルにして、サンプル重心を完全なk-meansランの開始点として使用します。これはより速く、より良いでしょう。それはおおよそFayyadらのものです。私が正しくリコールすれば、そして最高の戦略の1つを示唆しています。 –
しかし、k-meansをスピードアップする必要がある場合は、実装の高速化を確認してください。最近の比較があります:Kriegel、H.P。 (2016)。ランタイム評価の(黒)技術:アルゴリズムや実装を比較していますか?知識と情報システム、1-38。 - 明らかに、大きなパフォーマンスの違いがあります。 –