"DBSCAN" (機械学習メソッド)

詳細とサブオプション

  • "DBSCAN"(density-based spatial clustering of applications with noise,ノイズのあるアプリケーションの密度準拠空間クラスタリング)は,密度準拠のクラスタリングメソッドである.密度は近傍準拠のアプローチを使って推定される."DBSCAN"は任意の形や大きさのクラスタに使うことができるが,その場合のクラスタの密度は同じ程度でなければならない.
  • 次のプロットは,"DBSCAN"法をトイデータ集合に適用した結果を示している(黒い点は外れ値を示す).
  • "DBSCAN"は,半径 ϵ の球の中に k 個以上の近傍を持つ「コア点」(つまり,高密度領域内のデータ点)をデータ点として定義する.次に,互いの距離が ϵ 未満のコア点がクラスタを定義する.コア点からの距離が ϵ 未満の任意の点はそのコア点のクラスタに属す.コア点に近くない任意の点はノイズとみなされる.
  • この結果,各クラスタのコアには1つあるいはそれ以上のコア点が,「エッジ」にはコア点ではない点が含まれることになる.全体として,"DBSCAN"はクラスタを連結された高密度領域として定義する.以下の図では,コア点が赤,エッジ点が黄色,ノイス点が青に彩色されている.
  • ClusteringComponentsおよびClusterClassifyでは,ノイズ点にはMissing["Anomalous"]のラベルが付けられる.
  • FindClustersでは,ノイズ点はクラスタとして返される.
  • 使用する距離は,オプションDistanceFunctionで指定できる.
  • 次は,使用可能なサブオプションである.
  • "NeighborhoodRadius" Automatic半径 ϵ
    "NeighborsNumber" Automatic近傍数 k
    "DropAnomalousValues" False外れ値を削除するかどうか

例題

すべて開くすべて閉じる

  (3)

"DBSCAN"メソッドを使って近くの値のクラスタを求める:

"DBSCAN"メソッドを使ってClassifierFunctionを色のリストで訓練する:

要素をクラスの数でまとめる:

ランダムな2Dベクトルを作る:

"DBSCAN"メソッドで求まった data 内のクラスタをプロットする:

スコープ  (2)

時刻のランダムなリストを取得する:

"DBSCAN"メソッドでClassifierFunctionを訓練する:

クラスタ割当てを取得し,データをクラスタ化する:

"DBSCAN"メソッドを使ってClassifierFunctionを訓練する:

ノイズ点にはMissing["Anomalous"]のラベルが付けられる:

オプション  (7)

DistanceFunction  (1)

編集距離を使って文字列データをクラスタ化する:

マンハッタン距離を使ってデータをクラスタ化する:

"NeighborhoodRadius"  (2)

"NeighborhoodRadius"サブオプションを指定してクラスタを求める:

やや曖昧な4つのクラスタによって特徴付けられた二次元のデータ点の集合を指定する:

"DBSCAN"メソッドを使って求まった data 内のクラスタをプロットする:

"NeighborhoodRadius"を変え,"DBSCAN"メソッドを使って data の異なるクラスタリングをプロットする:

"NeighborsNumber"  (3)

"NeighborsNumber"サブオプションを指定してクラスタを求める:

ランダムな2Dベクトルを作る:

"DBSCAN"メソッドで求まった data 内のクラスタをプロットする:

"NeighborsNumber"を変えて,"DBSCAN"メソッドを使った data の異なるクラスタリングをプロットする:

やや曖昧な4つのクラスタによって特徴付けられた二次元のデータ点の集合を指定する:

"DBSCAN"メソッドを使って求まった data 内のクラスタをプロットする:

"NeighborsNumber"を変て,"DBSCAN"メソッドを使って data の異なるクラスタリングをプロットする:

"DropAnomalousValues"  (1)

外れ値にMissing["Anomalous"]のラベルを付けるClassifierFunctionを訓練する:

訓練されたClassifierFunctionを使って外れ値を識別する:

外れ値を削除してClassifierFunctionを訓練し,新たなクラスタ割当てを求める:

同様に,外れ値がある値が近いクラスタを求める:

"DropAnomalousValues"サブオプションを使って外れ値を除く: