問題タブ [hierarchical-clustering]
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.
algorithm - 分散型階層的クラスタリング
階層的クラスタリングに役立つアルゴリズムはありますか?Googleのmap-reduceには、kクラスタリングの例しかありません。階層的クラスタリングの場合、ノード間で作業をどのように分割できるかわかりません。私が見つけた他のリソースは次のとおりです。http://issues.apache.org/jira/browse/MAHOUT-19 しかし、どのアルゴリズムが使用されているかは明らかではありません。
tags - タグの階層と取り扱い
これは、一般的なタグ付けアイテムに適用される実際の問題です (はい、これは StackOverflow にも適用されます。いいえ、StackOverflow に関する問題ではありません)。
タグ付けの問題全体は、アイテムが何であれ (ジョーク、ブログ投稿、質問など)、類似のアイテムをクラスター化するのに役立ちます。ただし、(通常ではありますが厳密ではありませんが) タグの階層が存在します。つまり、一部のタグは他のタグも暗示します。おなじみの例を使用すると、「c#」so タグは「.net」も意味します。別の例として、ジョーク データベースでは、"blondes" タグは、"irish"、"belge"、"canadian" などと同様に、ジョークの出身国に応じて "derisive" タグを意味します。
プロジェクトでこれをどのように処理しましたか? 2つの別々のケースで使用した2つの異なる方法(実際には同じメカニズムですが、2つの異なる環境で実装されています)について説明する回答を提供しますが、同様のメカニズムだけでなく、階層の問題に関するあなたの意見にも興味があります.
machine-learning - 画像から主な/最も使用される色を抽出する
画像内で最もよく使用される色、または少なくとも主要な色調を抽出したいのですが、このタスクを開始する方法を教えてください。または同様のコードを教えてください。私はそれを探していましたが、成功しませんでした。
oop - Matlab のバイオインフォマティクス ツールボックスで clustergram に他のクラスタリング手法を使用する方法
編集:私はそれを理解しました。ただ表記が分からなかった。
こんにちは、
バイオインフォマティクス ツールボックスのクラスターグラムに詳しい方がいらっしゃることを願っています。関数のグラフィカルな側面 (デンドログラム/ヒート マップ) に興味がありますが、Matlab の cluster() 関数を使用する必要があるため、現在障害があります。個人的なアルゴリズムを使用してクラスター化し、Matlab でこれを視覚化できるようにしたいと考えています。
私はコードを検索しましたが、オブジェクト指向プログラミング全般、特に Matlab のバージョンについてはひどく無知です。したがって、私が知っているのは、関数が「obj = obj.getclusters」という行を呼び出すことだけですが、Matlab の代わりに独自のクラスタリング アルゴリズムを使用するようにこれを編集する方法がわかりません。
どんな助けでも大歓迎です!
編集:私は特に新しいアルゴリズムに取り組んでいるため、pdist やリンケージが必要ないのはなぜですか。デンドログラムは clustergram 関数の外部で計算されます。デンドログラム/ヒートマップを作成するために使用しているのは、クラスターグラム関数だけです。私のバイオインフォマティクスツールボックスはバージョン 3.3 です
本当に、ここで探しているのは、「obj = obj.getclusters;」が何をするかだけです。行う?私はプログラマーではないので、OO には詳しくありません。私には、関数呼び出しがないので、魔法のようにクラスターがあるように見えます。これは clustergram() の 304 行目です。
r - 複数の個人によるrのクラスター分析
申し訳ありませんが、これを「きれい」に見せるためにHTMLなどを実際に使用する方法がわかりません。特に、私のサンプルデータを皆さんにとって役立つものにするためです。私は行くにつれてこれを学んでいます。
変数PersVel、TurnVel、およびVelocity(およびおそらく他の変数)でクラスター分析を実行しようとしていますが、これらは今のところ実行されます。私はすでに年ごとにデータを分けていますが、1年あたりの個人の数はさまざまです(IDはそれらの名前です)。個人ごとにこれらの変数に対してk-meansまたは階層的クラスター分析を実行したいと思います。以下のデータはわずか20データポイントです。対象の変数によるクラスターが特定されたら、それをカレンダーの日付または日付/時刻変数にリンクします。最終的には、クラスターがいつ発生したかを知りたいです。
IDをレベルに変換するコードをすでに作成しており、k-meansクラスタリングの変数を標準化する必要があると言われました(したがって、階層型でも同じことを行うと思いますが、それほど大きな問題ではありません)。個人をループさせる方法は?
それで???このテストを行うために次の部分を書くにはどうすればよいですか?
algorithm - 階層的クラスタ化ヒューリスティック
大きな配列内のデータ項目間の関係を調べたい。多次元ベクトルで表されるすべてのデータ項目。まず、クラスタ化を使用することにしました。クラスター (データ ベクトルのグループ) 間の階層関係を見つけることに興味があります。ベクトル間の距離を計算できます。したがって、最初のステップで、最小限のスパニング ツリーを見つけています。その後、スパニング ツリーのリンクに従ってデータ ベクトルをグループ化する必要があります。しかし、このステップで私は邪魔されます.異なるベクトルを階層クラスターに結合する方法は? 私はヒューリスティックを使用しています: 2 つのベクトルがリンクされていて、それらの間の距離が非常に小さい場合、つまり、それらが同じクラスターにあることを意味します。2 つの wector がリンクされているが、それらの間の距離がしきい値よりも大きい場合 - これは、それらが共通のルート クラスター を持つ異なるクラスターにあることを意味します。
しかし、おそらくより良い解決策がありますか?
ありがとう
PS みんなありがとう!
実際、k-means と CLOPE のいくつかのバリエーションを使用しようとしましたが、良い結果が得られませんでした。
これで、データセットのクラスターが実際には複雑な構造を持っていることがわかりました (n 球体よりもはるかに複雑です)。
それが、階層的クラスタ化を使用したい理由です。また、クラスターは n 次元の連結(3d または 2d チェーンなど) のように見えると思います。そのため、私はシングルリンク戦略を使用しています。しかし、私は邪魔されています-異なるクラスターを互いに結合する方法(どの状況で、共通のルートクラスターを作成する必要があり、どの状況ですべてのサブクラスターを1つのクラスターに結合する必要がありますか? )。私はそのような単純な戦略を使用しています:
- クラスター (またはベクトル) が互いに近すぎる場合 - それらのコンテンツを 1 つのクラスターに結合します (しきい値によって調整されます)。
- クラスター (またはベクトル) が互いに離れすぎている場合 - ルート クラスターを作成し、その中に入れます。
しかし、この戦略を使用すると、非常に大きなクラスター ツリーが得られます。私は満足のいくしきい値を見つけようとしています。しかし、クラスター ツリーを生成するためのより良い戦略があるのではないでしょうか?
ここに簡単な写真があります、私の質問を説明します:
r - カット デンドログラムのターミナル ノードにラベルを付けるにはどうすればよいですか?
次のコードを使用して、デンドログラムを特定の高さでカットしました。問題は、デンドログラムをカットするときに、ノードにラベルを追加する方法がわからないことです。ラベル付きのデンドログラムをカットするにはどうすればよいですかRプログラムを使用していますか?
google-maps - 100 万を超えるマーカーを含む地図、高ズーム レベルでの問題
環境:
表示する 100 万個のマーカー (緯度/経度を持つオブジェクト) を備えた Google マップ。クラスタリングには Fluster 2 を使用します。
ズーム レベル 11 から 21 の場合 (21 のズーム レベルがあり、21 が地面に最も近いと仮定)、マーカーのクラスター化 (クラスター マーカーの作成) の計算時間は問題ありません。
私が遭遇する問題:
ズーム 11 の後 (ユーザーが地面からズームアウトしたとき) に、凝集クラスタリングが遅くなります。約 1,000,000 のマーカーの数を考えると、高速な計算方法またはターンアラウンドのいずれかが必要です。
ところで、私は商用ソリューションには興味がありません。
python - scipyによって作成された樹状図のカラークラスターに対応するフラットクラスタリングを取得する方法
ここに投稿されたコードを使用して、優れた階層的クラスタリングを作成しました。
左側の樹状図が次のようなことを行って作成されたとしましょう
次に、色付きの各クラスターのメンバーのインデックスを取得するにはどうすればよいですか? この状況を単純化するために、上部のクラスタリングを無視し、マトリックスの左側の樹状図のみに焦点を合わせます。
この情報は、樹状図に保存されたZ
変数に保存する必要があります。私が呼びたいことを実行する必要がある関数があります(ここfcluster
のドキュメントを参照してください)。ただし、樹状図の作成で指定したのと同じfclusterをどこに指定できるかわかりません。のしきい値変数は、さまざまなあいまいな測定値(、、、、)に関するものでなければならないようです。何か案は?cutoff
fcluster
t
inconsistent
distance
maxclust
monocrit
algorithm - ビットシーケンスの階層的クラスタリング
これは宿題の問題であり、私はそれを理解するのにいくつかの困難に直面しています。宿題の質問は
私は、最初はそれらすべてをクラスターと見なしてから、最も近いものをマージし始める必要があるという本を読みました。新しいクラスターが形成されます。ここで、質問で述べたように、両方のクラスターの各要素間の距離を平均して、この新しいクラスターと他のクラスター間の距離を計算することにより、この新しく形成されたクラスターに最も近いクラスターを見つける必要があります。
私の解決策:すべてのペア間のハミング距離を見つけ、C3とC5(ハミング距離は2)の1つが最も少ないものを選択します。これで、これを新しいクラスターにマージできます。
私の懸念は、ここでマージすることの正確な意味は何ですか?どうすればいいのですか?または、単にそれらをそのままにして、新しいクラスターという名前を付けますか?
また、新しいクラスターの各要素と他のクラスターとの間の平均距離を見つけるにはどうすればよいですか?
また、平均を計算するには、与えられた式は|C1|で割ると言います および|C2|。つまり、ここで要素の数で割る必要があるということですか(1つのグループあたり8で、マージされるクラスターを掛けたものですか?)
どんな助けでも大歓迎です。ありがとうございました。