クラスタリング用の視覚化ソフトウェア


14

〜22000ポイントをクラスター化します。多くのクラスタリングアルゴリズムは、高品質の初期推測でより適切に機能します。データの大まかな形状を把握できるツールは何ですか?

自分の距離メトリックを選択できるようにしたいので、ペアワイズ距離のリストをフィードできるプログラムは問題ありません。ディスプレイ上の領域またはクラスターをハイライトし、その領域にあるデータポイントのリストを取得するようなことをしたいと思います。

フリーソフトウェアが望ましいですが、SASとMATLABを既に持っています。

回答:


11

GGobi(http://www.ggobi.org/)とRパッケージrggobiは、このタスクに最適です。

例については、関連するプレゼンテーションを参照してくださいhttp : //www.ggobi.org/book/2007-infovis/05-clustering.pdf


提案をありがとう、@ Shane。ggobiは有望に見えます、私は今それをインストールしています、試してみます:)

1
他のプラットフォームでは正常に動作しますが、gtkはOSXではうまく動作しません。

3
gtkはOSXでは問題ありません。
ハドレー

5

clusterflyおよびgcExplorerパッケージを使用して、Rでクラスタリング結果を高次元で調べることができます。詳細はこちらをご覧ください


感謝しますが、ggobiを直接呼び出すのではなくclusterflyを使用する利点はありますか?このウェブサイトでは、クラスタリング手法についてのみ言及していますが、これは興味深いですが、まだ私の主な目標ではありません。gcexplorerのWebサイトの情報量は少なくなりますが、すでにクラスターに分割された後のデータを視覚化するためのもののようです。私はそのポイントに達したら彼らに試してみますが、今必要なものではありません。

4

(数か月後)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を超えると言うと、ほとんどの距離は中央値に近くなるため、次元削減そこではできないと思います。


2

私のプロジェクトの1つでKNIMEを使って良い経験をしました。これは、迅速な探索マイニングとグラフ作成のための優れたソリューションです。さらに、RおよびWekaモジュールのシームレスな統合を提供します。


便利なプログラムのように見えますが、彼らのウェブページはこの正確な問題を解決するだろうと私に納得させる良い仕事をしていません。広すぎて気にしない機能が多すぎて、単純なことをするのが難しくなっているようです。他の選択肢がうまくいかない場合は、もう一度見てみましょう。


1

見てみましょうCluster 3.0のを。それがあなたが望むすべてを行うかどうかはわかりませんが、それはかなりよく文書化されており、いくつかの距離メトリックから選択することができます。視覚化の部分は、Java TreeViewスクリーンショット)と呼ばれる別のプログラムを介して行われます


提案に感謝しますが、距離の独自の尺度を選択する能力は重要であるため、これは私には動作しません。しかし、他の誰かがそれを役に立つと思うかもしれません。

1

GGobiはこの点で面白そうです。別のアプローチとして、類似性/逆距離行列をネットワーク隣接行列として扱い、それをネットワーク分析ルーチン(たとえば、RのigraphまたはおそらくPajek)に入力することもできます。このアプローチを使用して、さまざまなカットポイントでノードの距離を2進タイにカットする実験を行います。


私はこれを考えましたが、合理的なカットポイントはないと思われ、ドメインの専門家もそれを正当化することはできません。

私はこれはあなたの述べられた目的のためにかなりarbitrary意的であると思います-正直に、あなたは実際にバイナリにカットする必要さえないかもしれません、ちょうど1のスケールでタイ値ラベルを管理可能な数に再コードし、次にタイを徐々に非表示/表示しますさまざまなレベル(オプションで、途中でペンダントや孤児を非表示/削除)。書かれているようにリクエストに直接応答しませんが、より一般的なアプローチを取り、初期クラスターを特定するために初期重心を使用しないハイブリッドクラスタリング手法を使用して、その結果から重心を新しい分析にフィードしてみませんか?
シェルビー

良い結果が得られるまで、さまざまなカットオフを試してみることを意味すると思いますか?標準的な多重比較の理由から、それを避けたいと思います。再:あなたの2番目の提案私はそれらのアルゴリズムよりも自分自身を信頼していると思います。私はコンピューターを使用して、手作業では面倒な大量のデータを処理します。

1
あなたは仮説テスト言語を使用していますが、同時に非常に探索的で、いつでもわかるアプローチについて話しているので、分析のこの部分の目的が本当に明確ではありません。後でテストする仮説がある場合(たとえば、クラスターメンバーシップを予測したり、予測子としてclustメンバーシップを使用したりする場合)、バイアスを誘惑するようなことをしないように選択できます。しかし、「多重比較」の問題は、あなたが説明している探索的な問題に実際には関係ありません。vizのカットオフは、そこにあるものを見るのを助けるためだけのものです-しかし、あなたの信頼はまだ見当違いかもしれません。
シェルビー

1

Wekaはデータマイニング用のオープンソースプログラム(Javaで作成および拡張可能)、Orangeはデータマイニングと機械学習(Pythonで記述された)用のオープンソースプログラムおよびライブラリです。どちらも、多次元データの便利で効率的な視覚的調査を可能にします


オレンジの機能ページには「作成中」と表示されており、私がやっているようにスクリーンショットはリストされていません。wekaには機能リストがまったくありません。彼らは私がしたいことをすることができるかもしれませんが、彼らが機能を促進しないならば、私はどのように伝えることができますか。私は他の選択肢にもっと確信しています。

0

DataMeltの無料の数値ソフトウェアには、JMinHepと呼ばれるJavaライブラリが含まれています。「データのクラスタリング」セクションのマニュアルをご覧ください。多次元データポイントをXYで視覚化し、多数のデータクラスタリングアルゴリズムを実行するGUIを提供します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.