回答:
clusterflyおよびgcExplorerパッケージを使用して、Rでクラスタリング結果を高次元で調べることができます。詳細はこちらをご覧ください。
(数か月後)kクラスターを描き、さまざまなkの効果を見る良い方法は、最小スパニングツリーを構築 し、最も長いエッジを調べることです。例えば、
ここには10個のクラスターがあり、9つの最長エッジ855 899 942 954 1003 1005 1069 11341267。9
つのクラスターの場合、シアン855エッジを折りたたむ。8、紫899; 等々。
単一リンクのkクラスタリングアルゴリズム...は、まさにKruskalのアルゴリズムです... MSTを見つけてk-1の最も高価なエッジを削除するのと同じです。
—ウェイン、 貪欲アルゴリズム。
22000ポイント、242Mペアワイズ距離、約1ギガバイト(float32):適合可能性があります。
高次元のツリーまたはグラフを2Dで表示するには、多次元スケーリング(同じくKruskalから)および次元削減に関する膨大な文献を参照してください。ただし、20を超えると言うと、ほとんどの距離は中央値に近くなるため、次元削減はそこではできないと思います。
見てみましょうCluster 3.0のを。それがあなたが望むすべてを行うかどうかはわかりませんが、それはかなりよく文書化されており、いくつかの距離メトリックから選択することができます。視覚化の部分は、Java TreeView(スクリーンショット)と呼ばれる別のプログラムを介して行われます。
GGobiはこの点で面白そうです。別のアプローチとして、類似性/逆距離行列をネットワーク隣接行列として扱い、それをネットワーク分析ルーチン(たとえば、RのigraphまたはおそらくPajek)に入力することもできます。このアプローチを使用して、さまざまなカットポイントでノードの距離を2進タイにカットする実験を行います。
DataMeltの無料の数値ソフトウェアには、JMinHepと呼ばれるJavaライブラリが含まれています。「データのクラスタリング」セクションのマニュアルをご覧ください。多次元データポイントをXYで視覚化し、多数のデータクラスタリングアルゴリズムを実行するGUIを提供します。