問題タブ [cluster-analysis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
5574 参照

r - k-means と EM で最適なクラスター数を選択するためにどのような方法を使用しますか?

クラスタリングには多くのアルゴリズムが利用可能です。一般的なアルゴリズムは K 平均法です。このアルゴリズムでは、指定された数のクラスターに基づいて、オブジェクトに最適なクラスターを見つけるために反復処理が行われます。

k-means クラスタリングでデータのクラスター数を決定するためにどの方法を使用しますか?

R で利用可能なパッケージにはV-fold cross-validation、適切なクラスター数を決定する方法が含まれていますか?

もう 1 つのよく使用されるアプローチは、期待値の最大化 (EM) アルゴリズムです。これは、各インスタンスに確率分布を割り当て、各インスタンスが各クラスターに属する確率を示します。

このアルゴリズムは R で実装されていますか?

そうである場合、クロス検証によって最適な数のクラスターを自動的に選択するオプションはありますか?

代わりに、他のクラスタリング方法を使用しますか?

0 投票する
2 に答える
1945 参照

c++ - Kmeans から各クラスターの広がりを見つける

入力ベクトルが特定のクラスター中心にどの程度適合しているかを検出しようとしています。最適な一致を非常に簡単に見つけることができます (入力ベクトルまでのユークリッド距離が最小の中心が最適です)。

これを行うには、重心を構築するベクトルの広がり (標準偏差?) を見つけ、入力ベクトルから中心までの距離が広がりよりも小さいかどうかを確認する必要があります。それがスプレッドよりも大きい場合、それに適合するクラスターがないと言うことができるはずです(最良のものが入力ベクトルにうまく適合しない場合)。

クラスターごとの広がりを見つける方法がわかりません。私はすべての中心ベクトルを持っており、すべてのトレーニングベクトルは最も近いクラスターでラベル付けされています.スプレッドを得るために何をする必要があるかを正確に理解することはできません.

それが明確であることを願っていますか?そうでない場合は、言い換えてみます。ティア・イアン

0 投票する
4 に答える
37551 参照

cluster-analysis - 「k手段」と「ファジーc手段」の目的関数の違いは何ですか?

目的関数に基づいて両方のパフォーマンスを比較できるかどうかを確認しようとしていますか?

0 投票する
6 に答える
3667 参照

graph - クラスター化されたグラフの視覚化手法

次のプロパティを持つ比較的大きなグラフ (6K ノード、8K エッジ) を視覚化する必要があります。

  • 異なるクラスター。クラスタあたり約 50 ~ 100 ノード、クラスタ レベルで適度な相互接続性
  • クラスタ間の相互接続性は最小限 (クラスタあたり 5 ~ 10 のクラスタ間エッジ)

グローバル エッジ オーバーラップとする = クラスターのグラフを直接視覚化することによって引き起こされるエッジ オーバーラップ = {A、B、C、D、E}、エッジ = {これらのクラスターの五角形。ちなみに非平面であり、確実にエッジを生成します直接引けば重なる』

Local Edge Overlap = 上記としますが、{ A、B、C、D、E } は単なるノードです。

次の要件を満たす方法で、上記のグラフを視覚化する必要があります

  • グローバル エッジ オーバーラップなし (つまり、クラスター間のプロパティによって引き起こされるエッジ オーバーラップは問題ありません)
  • クラスタ内のローカル エッジ オーバーラップは問題ありません

上記の要件でグラフを最適に視覚化する方法について考えている人はいますか?

グローバル エッジのオーバーラップに対処するために私が思いついた 1 つの解決策は、視覚化中にクラスター A が別のクラスター (B) への直接エッジを最大 1 つだけ持つようにすることです。クラスター A -> C、A -> D、... 間の追加のクラスター間エッジは切断され、追加のノード/エッジ A -> A_C、C -> C_A、A -> A_D、D -> D_A...作成されます。

誰にも考えはありますか?

0 投票する
2 に答える
8075 参照

java - 凝集的クラスタリングJava

「凝集的クラスタリング」を実行するために使用できるJavaファイルはありますか。結果は、すべてのレベルのノードIDヘルプを提供するはずです。

0 投票する
3 に答える
22161 参照

python - 素朴なPythonで列と行のクラスタリングを反映するように行列要素を並べ替える

マトリックスの行とその列で個別にクラスタリングを実行し、マトリックス内のデータを並べ替えてクラスタリングを反映し、すべてをまとめる方法を探しています。クラスタリングの問題は簡単に解決でき、デンドログラムの作成も同様です (たとえば、このブログ「集合知のプログラミング」など)。ただし、データを並べ替える方法は不明のままです。

最終的に、単純な Python を使用して以下のようなグラフを作成する方法を探しています (numpy、matplotlib などの「標準」ライブラリを使用しますが、Rやその他の外部ツールは使用しません)。

デンドグラム
(出典: warwick.ac.uk )

明確化

再注文の意味を尋ねられました。行列のデータを最初に行列の行で、次にその列でクラスター化すると、各行列セルは 2 つの系統樹の位置によって識別できます。元のマトリックスの行と列を並べ替えて、デンドログラムで互いに接近している要素がマトリックス内で互いに接近するようにし、ヒートマップを生成すると、データのクラスタリングがビューアに明らかになる場合があります。 (上図のように)

0 投票する
1 に答える
618 参照

java - Javaアプリケーションのスケーリング-既存のクラスター対応IoCフレームワーク?

ほとんどの人はある種のIoCフレームワークを使用しています-Guice、Spring、あなたはそれに名前を付けます。私たちの多くはアプリケーションもスケーリングする必要があるため、Terracotta、Glassfish / JBoss /insertyourfavouritehereクラスターでの生活を複雑にします。

しかし、それは本当に行く方法ですか?上記のいずれかを使用していますか?

これが、まだオープンソース化されていないフレームワークに現在実装されているいくつかのアイデアです。あなたがそれについてどう思うか、あるいは「XYの完全なリップオフです!」

  • クラスター全体のオブジェクトレプリケーション-名前を付けます。そのようなオブジェクトで(任意のノードで)何かを実行すると、レプリケートされます-さまざまな保証があります
  • 透過的なソフトロードバランシングを実行する-最も単純なシナリオ:他のノードにプロキシされたRESTfulWebサービスメソッド呼び出し
  • ビューのみのノードインジェクション:「名前付き」オブジェクトにプロキシをインジェクトし、呼び出しをノードに自動的にプロキシします

そのようなものを使いますか?現在、安定した、エンタープライズ対応の実装はありますか?

0 投票する
4 に答える
1930 参照

python - Python KMeans クラスタリング単語

距離尺度がレベシュタインである単語のリストでkmeansクラスタリングを実行することに興味があります。

1) kmeans 実装を持つ scipy や orange など、多くのフレームワークがあることを知っています。ただし、それらはすべて、実際には私に合わないデータとしてある種のベクトルを必要とします。

2) 適切なクラスタリングの実装が必要です。私はpython-clusteringを見て、a)各重心までのすべての距離の合計を返さないこと、およびb)クラスタリングの品質を保証する反復制限またはカットオフのようなものがないことに気付きました。python-clustering と daniweb のクラスタリング アルゴリズムは、実際には機能しません。

誰かが私に良いライブラリを見つけてくれますか? Google は私の友達ではありません

0 投票する
2 に答える
256 参照

python - Python 並列計算: キースペースを分割して、各ノードに作業範囲を与える

数学が得意ではないので、私の質問は説明するのがかなり複雑ですが、できるだけ明確にしようとします。

私はPythonでクラスターをコーディングしようとしています。これは、文字セットを指定して単語を生成し(つまり、小文字:aaaa、aaab、aaac、...、zzzz)、それらに対してさまざまな操作を行います。文字セットとノード数を考慮して、各ノードがどの範囲で動作するかを計算する方法を探しています(つまり、node1: aaaa-azzz、node2: baaa-czzz、node3: daaa-ezzz、...)。これを計算できるアルゴリズムを作成することは可能ですか?もしそうなら、どうすればこれをPythonで実装できますか?

私は本当にそれを行う方法がわからないので、どんな助けでも大歓迎です

0 投票する
1 に答える
3512 参照

python - Scipy.cluster.hierarchy.fclusterdata + 距離測定

1) scipy の hcluster モジュールを使用しています。

したがって、私が制御できる変数はしきい値変数です。しきい値ごとのパフォーマンスを知るにはどうすればよいですか? つまり、Kmeans では、このパフォーマンスは重心へのすべてのポイントの合計になります。もちろん、これは調整する必要があります。一般に、クラスターが多いほど距離が短くなるからです。

このために hcluster でできることはありますか?

2) fclusterdata で使用できるメトリクスがたくさんあることを認識しています。重要な用語の tf-idf に基づいてテキスト ドキュメントをクラスタリングしています。取り決めは、一部のドキュメントは他のドキュメントよりも長いということです。コサインは、この長さの問題を「正規化」する良い方法だと思います。なぜなら、ドキュメントが長くなればなるほど、n 次元フィールドの「方向」は同じままであるべきだからです。内容は一貫しています。誰かが提案できる他の方法はありますか?どのように評価できますか?

どうも