0

重複の可能性:
1D 数値配列のクラスタリング

のような数字の配列があります[1, 20, 300, 45, 5, 60, 10, 270, 3]。近接性に基づいてこれらの数値をグループ化するための効率的なアルゴリズムは何ですか? この場合[1, 3, 5]、 、[20, 45, 60]、のようなものが期待できます[270, 300]

4

2 に答える 2

4

あなたが求めていることの最も難しい部分は、実際に近接を定義する方法です。からの出力は何だと思います[5,10,15,20]か? と同じグループ化になり[500,1000,1500,2000]ますか?

どう[1,2,3,5,7,8,9]ですか?グループは 1 つか 3 つですか。(または2つ?)。
どう[1,2,3,5,7,8,9,1075,4000]ですか?1075 と 4000 はグループ化されますか? 小さい数字のグループ化は、サンプル内の大きい数字によって変更されますか?

この質問は、機械学習の分野全体で尋ねられるものです:クラスター分析 おそらく、この関連する質問が役に立ちますか?

あなたが望むのはK-meansクラスタリング(関連する質問にリンクされていると便利です)だと思いますが、データを使用するにはデータを分割するグループの数を知る必要があります。

于 2012-12-29T00:02:03.863 に答える
3

これは非常にやり過ぎかもしれませんが、階層的クラスタリング アルゴリズムを調べることをお勧めします。これらのアルゴリズムは値を階層にグループ化し、そこから最適な k クラスターを簡単に抽出できます。凝集型クラスタリングは、おそらくこれらのアプローチの中で実装が最も簡単であり、経験上、非常に優れたクラスターを生成する傾向があります。

お役に立てれば!

于 2012-12-28T23:51:50.757 に答える