サイズの異なる有向グラフの隣接行列を作成しました。約 30,000 の行列があり、それぞれが別のテキスト ファイルにあります。それらをどのようにクラスター化できますか、利用可能なツールはありますか。クラスタリング用の有向グラフを表す最良の方法は何ですか?
ありがとうございました。
サイズの異なる有向グラフの隣接行列を作成しました。約 30,000 の行列があり、それぞれが別のテキスト ファイルにあります。それらをどのようにクラスター化できますか、利用可能なツールはありますか。クラスタリング用の有向グラフを表す最良の方法は何ですか?
ありがとうございました。
k-meansとボロノイ図を試してみます。これは、最小スパニングツリーを使用して計算し、最長のエッジを探すことで計算できます。次に、mstエッジを中心として、従来のk-meansを使用して別のクラスターを計算できます。もう1つの可能性は、空間充填曲線などの階層的クラスターです。たとえば、https ://stats.stackexchange.com/questions/1475/visualization-software-for-clusteringを参照してください。
正確に何を達成したいですか?類似した行列をグループ化しますよね?k-means では、ここではあまり楽しくありません。隣接行列はバイナリです。それらを巨大なベクトルとして解釈し、それらの Lp ノルム距離 (ユークリッド距離など) を計算してから、平均行列を計算する (これは k-means が行うことです) ことは、私には賢明に思えません。さらに、次元の呪いにかまれる可能性が高くなります。次元数が多いと、すべてのマトリックスが似たように見えます。
ほとんどすべてのクラスタリング アルゴリズムで、「ドメイン エキスパート」として最初に答えなければならない質問は、次のようなものです。2 つの隣接行列が似ている理由は何ですか? これを形式化すると、従来のシングルリンク クラスタリング、DBSCAN、OPTICS など、多くのクラスタリング アルゴリズムを実行できるようになります。
ここでグラフ機能/統計のアイデアを見つけることができます: http://networkx.lanl.gov/reference/algorithms.html