問題タブ [k-means]
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 - ファジー c-means と人工蜂コロニー アルゴリズムを使用したジョブ マッチング
ABC アルゴリズムによって最適化されたファジー c-means を使用して、ジョブのリストをクラスター化する必要があります。これらのアルゴリズムを一緒に適用する例はありますか??
助けてくれてありがとう...
python - k平均の分散測定のパーセンテージを計算していますか?
ウィキペディアのページ では、k-means でクラスターの数を決定するためのエルボ法が説明されています。scipy の組み込みメソッドは実装を提供しますが、彼らがそれを呼び出すときの歪みがどのように計算されるかを理解しているかどうかはわかりません。
より正確には、クラスターによって説明される分散のパーセンテージをクラスターの数に対してグラフ化すると、最初のクラスターは多くの情報を追加します (多くの分散を説明します) が、ある時点で限界ゲインが低下し、グラフ。
関連する重心を持つ次の点があると仮定すると、この尺度を計算する良い方法は何ですか?
私は特に、点と重心だけを指定して 0.94.. 測定値を計算することを検討しています。scipy の組み込みメソッドのいずれかを使用できるかどうか、または自分で作成する必要があるかどうかはわかりません。多数のポイントに対してこれを効率的に行う方法について何か提案はありますか?
要するに、私の質問(関連するすべて)は次のとおりです。
- 距離行列と、どの点がどのクラスターに属しているかのマッピングが与えられた場合、エルボー プロットを描画するために使用できる尺度を計算する良い方法は何ですか?
- コサイン類似度などの異なる距離関数を使用すると、方法論はどのように変化しますか?
編集 2: 歪み
最初のポイント セットの出力は正確です。ただし、別のセットを試すと:
kmeans
データセット内のポイントの総数で値を割っているように見えるため、最後の値は一致しないと思います。
編集 1: パーセント分散
これまでの私のコード (Denis の K-means 実装に追加する必要があります):
k=2 の場合の出力は次のとおりです。
私の実際のデータセットで(私には正しく見えません!):
cluster-analysis - Wekaの単純なK-meansクラスタリングの割り当て
単純な問題のように感じますが、答えが見つからないようです。私はWekaにかなり慣れていませんが、これについて少し調べて(少なくとも、Googleの結果の最初の数ページを読んで)、乾いてしまったように感じます。
私はWekaを使用して、SimpleK-Meansを使用してクラスタリングを実行しています。結果リストでは、出力の視覚化(「クラスター割り当ての視覚化」)に問題はなく、K-Meansアルゴリズムの理解と、Wekaの出力の両方から、各インスタンスが最終的に別のクラスター(必要に応じて、特定の重心を中心に)。
テキスト出力からクラスター構成の一部を見ることができます。ただし、Wekaは、インスタンス番号からクラスター番号への明示的な「マッピング」を提供しません。私は次のようなものが欲しいです:
各アイテムから各重心までの距離を自分で計算せずに、これらの結果を取得するにはどうすればよいですか?
matlab - MATLAB の K-means アルゴリズム
kmeans(X,k) 構文を使用せずに、Matlab で K-means アルゴリズムを実装するにはどうすればよいですか?
実際、問題はアルゴリズムを実装していません。下の画像をご覧ください。
http://en.wikipedia.org/wiki/Kmeansなど、ほとんどのサイトから提供されているアルゴリズムを実装しました
X の 4 つの観測値 (200 サンプル) を設定しましたが、これらの 4 つの観測値が 1 つのクラスターからのものであることは既にわかっていました。したがって、アルゴリズムによれば、表示された画像の上記のクラスタリングは説明可能ですが、そうではありません。4つの初期値がランダムに選択されるべきではないと思います。
http://people.revoledu.com/kardi/tutorial/kMean/matlab_kMeans.htmなどの他のソース コードも実行します。同じ結果が導き出されます。http://www.4shared.com/get/IfwUEUBD/Observation.htmlから私の観察結果をダウンロードして、結果を自分で確認できます。
algorithm - 二等分k-meansクラスタリングアルゴリズムの説明
二等分k-meansアルゴリズムを作成する必要がありましたが、アルゴリズムを理解できませんでした。私はk-meansアルゴリズムを知っています。
アルゴリズムを説明できますが、学術用語では説明できません
ありがとう。
matlab - 距離関数に応じて、MATLABのk-meansはメモリ不足ですか?
大きくてスパースな行列〜(1000000x1000)でmatlabを使用してk-meansを使用しています。ここに問題があります。距離関数としてコサイン類似度を使用すると、数分以内に「メモリ不足です。オプションのHELPMEMORYと入力してください」というメッセージが表示されます。ただし、ユークリッド距離を使用すると、完全に実行されます(同じ行列)。
距離はペアごとに計算され、距離の計算ごとに小さな定数メモリ以上を必要としないため、これは少し奇妙です。
小さい行列(スパースではありませんが、1000x1000)でk-meansを使用する場合、正弦はうまく機能します。
技術的な詳細:マシンは64ビットで8GBのRAMを搭載しています。試してみたい場合:マトリックスはここにあります(sendspaceにあるので、数週間利用できます)。
ファイルはスパース形式です:[行] \t[列]\t[値]\n
matlabコード:
ところで、メモリ使用量の違いに関するアイデア。サインとユークリッド距離?
それにアプローチし、実際に大きな行列でコサインを使用する方法について何かアイデアはありますか?
ありがとう!
c++ - 画像上でkmeansアルゴリズムを実行しているOpenCV
3チャンネルのカラー画像でkmeansを実行しようとしていますが、関数を実行しようとするたびに、次のエラーでクラッシュするようです。
渡されるものを指定するのに役立つコメントとともに、以下のコードを含めました。どんな助けでも大歓迎です。
c - OpenCV で kmeans データからクラスター化されたイメージを作成する
kmeans 関数から返されたデータからクラスター化されたイメージを作成しようとしています。OpenCV の例から同様の方法でデータを取り出そうとしましたが、クラッシュしたようです。さらに調査した結果、誰かがセンターを使用してデータを引き出したことがわかりましたが、そのデータには何もしなかったため、私の追跡はそこで終わりました。
コードのスニペットと私が行っていることを以下に示します。どんな助けでも大歓迎です。
編集 テスト変数なしでコードを元の状態に戻しました。それでも上記のエラーは解決しません。以下の画像に関するデバッグ情報も追加しました。
画像情報:
- 寸法: 2
- 画像データ:
- サイズ 0: 256
- サイズ 1: 256
- エレムサイズ 1:12
- 要素サイズ 2: 4
データが NULL の場合でも、データを呼び出すとデータを表示できますcv::imshow
。
cluster-analysis - キャノピー クラスタリングの T1 および T2 しきい値を選択する方法は?
K-Means と共にキャノピー クラスタリング アルゴリズムを実装しようとしています。Canopy クラスタリングを使用して最初の開始点を K-means にフィードするようにオンラインで検索しましたが、問題は、Canopy クラスタリングでは、キャノピーに T1 と T2 の 2 つのしきい値を指定する必要があることです。内側のしきい値のポイントはそのキャノピーに強く関連付けられており、より広いしきい値のポイントはそのキャノピーにあまり関連付けられていません。これらの閾値、または林冠の中心からの距離はどのように決定されますか?
問題のコンテキスト:
私が解決しようとしている問題は、[1,30] や [1,250] などのセット サイズが約 50 の数値のセットがあることです。重複する要素が存在する可能性があり、それらは浮動小数点数である可能性もあります。 as 8, 17.5, 17.5, 23, 66, ... 最適なクラスター、または一連の数値のサブセットを見つけたい。
したがって、K-means を使用した Canopy クラスタリングが適切な選択である場合、私の疑問は依然として残ります: T1 値、T2 値をどのように見つけますか?. これが適切な選択ではない場合、使用するより優れた、よりシンプルで効果的なアルゴリズムはありますか?
opencv - OpenCV のクラスタリング関数 cvKMeans2() - センター パラメータを使用すると機能しないのはなぜですか
私はこのコードを使用します。クラスター ラベルを出力し、重心を出力する必要があります。しかし、セントリオドを持つ「センター」マトリックスは空で、ゼロでいっぱいのようです。何が悪いのですか?