私は単純な単変量データセットを予め設定された数のクラスタにクラスタリングする必要があります。技術的にはデータが1Dなのでビニングやソートに近づくでしょうが、私の上司はそれをクラスタリングと呼んでいますので、その名前に固執します。 私が使用しているシステムで使用されている現在の方法はK平均ですが、それは過度のようです。scikitでカーネル密度推定を1Dクラスタリング方法としてどのように使うのでしょうか?
このタスクを実行するより良い方法はありますか?
KDE(Kernel Density Estimation)について言及していますが、それは密度推定方法です。どのように機能しますか?
KDEがどのように密度を返すかを見ていますが、データをビンに分割する方法を教えてください。
私の要件の1つであるデータとは独立した固定数のビンを持つにはどうすればよいですか?
具体的には、scikitを使ってこれをどのように取り除きますか?
私の入力ファイルは次のようになります。私は、このようなことを、クラスタまたはビンにSLS番号グループにしたい
str ID sls
1 10
2 11
3 9
4 23
5 21
6 11
7 45
8 20
9 11
10 12
:
Cluster 1: [10 11 9 11 11 12]
Cluster 2: [23 21 20]
Cluster 3: [45]
そして、私の出力ファイルは、次のようになります。
str ID sls Cluster ID Cluster centroid
1 10 1 10.66
2 11 1 10.66
3 9 1 10.66
4 23 2 21.33
5 21 2 21.33
6 11 1 10.66
7 45 3 45
8 20 2 21.33
9 11 1 10.66
10 12 1 10.66
k-meansの関心事は何ですか?パフォーマンス? –
kmeansがkdeより効率的です – lejlot
@DavidMaust 1)単変量データでsklearnのk-meansを実行しようとしたとき、エラーが発生しました。元の1dデータと同一のコピーである2dデータにクラスタリングすることで、それを騙さなければなりませんでした。 2)この[投稿](http://stackoverflow.com/a/11516590/3967806)によると、それは悪い考えです。 –