クラスタリングを使用して、ノイズの多いデータで信号を選択できますか?
-
16-10-2019 - |
質問
データサイエンスへの最初のプロジェクトとして、騒々しいデータのメインクラスターを選択したいと思います。良い例は、多くの答えがある特定のstackexchangeの質問で特定のリンクを選択しようとすることだと思います。最も一般的なタイプのリンクは、SEネットワークの質問へのリンクです。次の共通は、タグリンクまたはユーザープロファイルへのリンクのいずれかです。残りのリンクは、ノイズと見なされる投稿に含まれるランダムリンクである可能性があります。理想的には、リンクのクラスターが事前にあるものの数がわからないソリューションを探しています。
最初の試みを使用して実装しました scikit-learn
とkmeans。ただし、クラスターの数を事前に指定する必要があるように見えるため、理想的ではありません。ランダムで騒々しいリンクは不適切にグループ化されると思います。また、URLトークンの比較的小さいものと比較して、より大きなコーパスでより効果的であると思います(ただし、それは単なる推測です)。
このタイプのクラスタリングを行う方法はありますか?クラスターの数が不明な場合、またはクラスターの1つが他のクラスターと密接に一致しないオブジェクトを含む一種の雑多なクラスターです。
解決
見たことがありますか dbscan?これは、非線形クラスターを定義できるノイズを使用したデータの密度ベースの空間クラスタリングです(K-meansとは異なります)。
クラスターの数を知る必要はありません。ただし、密度を測定する2つのパラメーター(最小クラスターサイズと近隣サイズ)が必要です。ただし、特定のドメインでそれらを推定できる場合があります。
所属していません datascience.stackexchange