問題タブ [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 投票する
5 に答える
2254 参照

algorithm - 撮影日に基づいて写真をクラスタリングするアルゴリズム

写真が撮影された日付に基づいて写真をイベントにグループ化するアルゴリズムを知っている人は誰でもいます。もちろん、日付でグループ化できますが、特定の期間の頻度に基づいて、複数日にまたがる写真をグループ化できる(可能性がある)もう少し洗練されたものが欲しいです。次のグループ化を検討してください。

  • 2009/1/2 15枚の写真
  • 2009/1/3 20枚の写真
  • 2009/1/4 13枚の写真
  • 2009/1/5 19枚の写真
  • 2009/1/15 5枚の写真

これらは、次の 2 つのグループに分類される可能性があります。

  1. 2009 年 1 月 2 日 -> 2009 年 1 月 5 日
  2. 2009/1/15

明らかに、確立する必要がある許容範囲がいくつかあります。

私自身のトップ/ダウンアプローチを発明する以外に、これを行うための確立された方法はありますか?

0 投票する
8 に答える
22652 参照

python - Pythonでグラフをクラスタ化するにはどうすればよいですか?

G をグラフとします。したがって、G はノードの集合とリンクの集合です。グラフをすばやく分割する方法を見つける必要があります。私が現在取り組んでいるグラフには 120*160 ノードしかありませんが、別のコンテキスト (医学ではなく Web サイト開発) で数百万のノードを持つ同等の問題にすぐに取り組んでいる可能性があります。

だから、私がしたことは、すべてのリンクをグラフマトリックスに格納することでした:

ここで、ノード s がノード t に接続されている場合、M は位置 s,t に 1 を保持します。M が対称 M[s,t]=M[t,s] であり、各ノードが M[s,s]=1 にリンクしていることを確認します。

よく覚えているのですが、M に M を掛けると、結果は 2 つのステップで到達した頂点を結ぶグラフを表す行列になります。

したがって、行列内のゼロの数が減少しなくなるまで、M をそれ自体で乗算し続けます。これで、接続されたコンポーネントのリストができました。次に、このマトリックスをクラスター化する必要があります。

今のところ、アルゴリズムにはかなり満足しています。簡単で、エレガントで、かなり速いと思います。この部分で悩んでいます。

基本的に、このグラフを接続されたコンポーネントに分割する必要があります。

すべてのノードを調べて、それらが何に接続されているかを確認できます。

しかし、行を並べ替えて行列をソートするのはどうでしょうか。しかし、それが可能かどうかはわかりません。

以下は、これまでのコードです。


編集:

SVD 分解を使用することが提案されています。これは、5x5 グラフの問題の簡単な例です。これを使用するのは、19200x19200 の正方行列ではクラスターが見にくいためです。

基本的にここには 4 つのクラスターがあります: (0),(1,3),(2),(4) しかし、このコンテキストで svn がどのように役立つかはまだわかりません。

0 投票する
7 に答える
19370 参照

cluster-analysis - クラスタリングで適合率と再現率を計算する方法は?

クラスタリングアプリケーションで適合率と再現率を計算する方法が本当に混乱しています。

私は次の状況にあります:

2つのセットAとBが与えられます。各要素に一意のキーを使用することで、AとBのどちらの要素が一致するかを判断できます。機能に基づいてこれらの要素をクラスター化したい(もちろん、一意のキーは使用しません)。

クラスタリングを行っていますが、適合率の計算方法と再現率がわかりません。論文「クラスター検索のための拡張パフォーマンスグラフ」(http://staff.science.uva.nl/~nicu/publications/CVPR01_nies.pdf)によると、式は次のとおりです。

p=精度=関連する検索アイテム/取得アイテムおよびr=リコール=関連する検索アイテム/関連アイテム

どの要素がどのカテゴリに分類されるのか、実際にはわかりません。

これまでに行ったことは、クラスター内で一致するペアがいくつあるかを(一意キーを使用して)チェックしたことです。それはすでに精度またはリコールの1つですか?もしそうなら、どちらがそれであり、どのようにもう一方を計算できますか?

更新: http://mtg.upf.edu/files/publications/unsuperf.pdfで、「クラスターの数が決定されていない教師なしクラスタリングの評価のためのF値」というタイトルの別の論文を見つけました。

0 投票する
5 に答える
2094 参照

algorithm - オブジェクトをクラスター化する方法 (座標なし)

不透明なオブジェクトのリストがあります。私はそれらの間の距離を計算することしかできません(問題の条件を設定するだけです):

これらのオブジェクトをクラスター化したいと思います。クラスターの数を制御したいのですが、「近い」オブジェクトを同じクラスターに配置したいと考えています。

誰かが私を助けることができるいくつかのクラスタリングアルゴリズム(より単純であるほど良い!)またはライブラリを提案(および;-)にリンクできますか?

明確化ほとんどのクラスタリング アルゴリズムでは、オブジェクトを N 次元空間に配置する必要があります。この空間は、クラスターの「重心」を見つけるために使用されます。私の場合、N が何かも、オブジェクトから座標系を抽出する方法もわかりません。私が知っているのは、2 つのオブジェクトがどれだけ離れているかだけです。その情報のみを使用する優れたクラスタリング アルゴリズムを見つけたいと思います。

オブジェクトの「匂い」に基づいてクラスタリングしていると想像してください。2D 平面上で「においを出す」方法はわかりませんが、2 つのにおいが似ているかどうかはわかります。

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

c# - 集合知の .Net / C# リソースを探しています

まず、これは次の質問と非常によく似た質問であることに気付きました

...しかし、その答えはすべて Java 中心のものだったので、もう一度質問します。今回は .Net (理想的には C#) のアイデアをもっと探しています。

背景を少し。私は最近、Toby Segran の CI に関する優れた本を読みました。また、Satnam Alag の本も入手しました (これも優れていると確信していますが、まだ開いたばかりです)。これらは Python と Java 中心で、コード サンプルを読むのに問題はありませんが、私は C# 開発者なので、母国語でこれらのアイデアのいくつかを試してみると楽しいでしょう。私はウェブとSOを検索しましたが、あまり思いつきませんでした。ある意味、これは素晴らしいニュースです。何かを .Net に移植できるかもしれませんが (提案を歓迎します)、これを行う前に、既存のプロジェクトを調べてみたいと思います。

それで、OSプロジェクトで.Netで作業しているCIファンがそこにいますか、明らかに明白で興味深い本/サイト/ブログを見逃していませんか?

CI は非常に広い分野であることを認識しているので、少し絞り込むと、主にクラスタリング / 予測 / レコメンデーションの分野に関心がありますが、他のアイデアにもオープンです。

編集: マニングによって出版されようとしているこの本を見つけたところです。これは、CI ファンに興味があるかもしれません: Algorithms of the Intelligent Web .

Moose のコメントに応じて説明を編集します。私が実際に探しているのは、.Net で CI 技術を使用するライブラリ、フレームワーク、または大規模なプロジェクト (理想的には OS) です。コード サンプルは素晴らしいものですが、Moose がコメントで述べているように、Java の例を取り上げて移植するのは簡単です。たとえば、WEKAと呼ばれる Java で書かれた興味深いプロジェクトがあります。これを使用して実験できない理由はありません。.Net で同様のことが起こっているかどうか知りたかっただけです。Luceneに関する情報を閲覧していたところ、その C# への移植があることがわかりました。

編集これは C# ではありませんが、.Net です。Robert Pickering は、ここでF# CI リソースの収集を開始しました。面白そうですが、C# の情報もまだ探しています。

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

algorithm - ニュースのクラスタリング

Google ニュースと Techmeme は、類似したニュース アイテムをどのようにまとめますか? これを達成するために使用されるよく知られているアルゴリズムはありますか?

あなたの助けに感謝。

前もって感謝します。

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

c++ - クラスタリング用のC/C++機械学習ライブラリ

多次元データのクラスタリングをサポートするC/c ++機械学習ライブラリにはどのようなものがありますか?(たとえば、K-Means)

これまでに出くわした

私は自分自身を転がしたくなりますが、既存のものは、コードにもっと目を向けることで、はるかに優れたパフォーマンス最適化であると確信しています。

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

algorithm - 最適なクラスタリング アルゴリズムは? (簡単に説明します)

次の問題を想像してください。

  • 「articles」というテーブルに約 20,000 のテキストを含むデータベースがあります。
  • 関連記事をまとめて表示するために、クラスタリングアルゴリズムを使って関連記事をつなぎたい
  • アルゴリズムはフラット クラスタリングを行う必要があります (階層的ではありません)。
  • 関連記事は「関連」テーブルに挿入する必要があります
  • クラスタリング アルゴリズムは、テキストに基づいて、2 つ以上の記事が関連しているかどうかを判断する必要があります。
  • PHPでコーディングしたいが、疑似コードや他のプログラミング言語を使ったサンプルでもOK

2 つの入力記事が関連している場合は「true」を返し、そうでない場合は「false」を返す関数 check() を使用して最初のドラフトをコーディングしました。残りのコード (データベースからの記事の選択、比較対象の記事の選択、関連記事の挿入) も完了しています。たぶん、残りも改善できます。しかし、私にとって重要なポイントは関数 check() です。したがって、いくつかの改善またはまったく異なるアプローチを投稿できれば幸いです.

アプローチ 1

アプローチ 2 [check() のみ]

また、クラスタリングには多くのアルゴリズムがあることを知っていますが、すべてのサイトには数学的な説明しかなく、理解するのが少し難しいことも知っています. したがって、(疑似)コードでのコーディング例は素晴らしいでしょう。

あなたが私を助けてくれることを願っています。前もって感謝します!

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

google-maps - スタックではなくマップ クラスターにマーカーを配置する方法

私のチームは限られた時間で問題を解決しようとしています。コンテンツ (旅行、ソーシャル コンテンツなど) を表示するために、サイト上でかなり複雑なマップ インターフェイスを開発しました。たとえば、ユーザーが「Kayaking San Francisco」の検索を実行すると、マップには SF でのすべてのカヤック旅行が表示されますが、それらはすべて (geonames.org を使用して) 同じ計画にジオタグが付けられているため、マップ上のフラグではなく、クラスタリング。私は解決策を見つけようと探し回っています - 何かアイデアはありますか? RoRがあります - http://www.ekoventure.com