私は次の Java-ml ライブラリを使用しています。具体的には、オブジェクトをクラスター化するために KMedoids ( http://java-ml.sourceforge.net/... ) クラスを使用しています。
データをクラスター化することはできますが、各クラスターで重心オブジェクトを抽出したいのですが、どうすればよいですか?
私は次の Java-ml ライブラリを使用しています。具体的には、オブジェクトをクラスター化するために KMedoids ( http://java-ml.sourceforge.net/... ) クラスを使用しています。
データをクラスター化することはできますが、各クラスターで重心オブジェクトを抽出したいのですが、どうすればよいですか?
重要な点は、どのクラスターでも中央値を見つける必要があるということです。中央値は、並べ替えてから中間点を取得することで見つけることができます。これには O(n lg n) の時間がかかります。オブジェクトを挿入するたびに中央値を見つける必要がある場合は、オンラインで中央値を選択する必要があります。つまり、2 つのヒープ、中央値より小さいすべてのオブジェクトの maxheap、および中央値より大きいすべてのオブジェクトの minheap を保持します。オブジェクトの挿入は O(lg n) 時間になります。