このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
基于密度的带噪声应用的空间聚类
多数のε
の値に対して反復処理を行うときの速度を向上させるには,dbscan
に対する入力としてD
を渡すことを検討してください。このようにすると,すべての反復で距離を計算する必要がなくなります。
pdist2
を使用してD
を事前計算する場合,pdist2
の名前と値のペアの引数“最小”
または“最大”
によるD
の列の選択または並べ替えは行わないでください。dbscan
はD
が正方行列であると想定するので,n個未満の距離を選択するとエラ,が発生します。D
の各列で距離を並べ替えると,D
の解釈が不十分になり,関数dbscan
で使用したときに無意味な結果が生成される可能性があります。
効率的にメモリを使用するため,D
が大きい場合はD
を数値行列ではなく逻辑行列としてdbscan
に渡すことを検討してください。既定では,matlab®は数値行列の各値の格納に8バイト(64ビット)を使用しますが,逻辑行列の各値の格納には1バイト(8ビット)を使用します。
minpts
の値を選択するには,入力デ,タの次元数に1を加算した値以上の値を検討してください[1]。たとえば,n行p列の行列X
の場合,p + 1以上の値を“minpts”
に設定します。
ε
の値を選択する方法として可能なものの1は,X
にk距離グラフを生成することです。X
の各点にいて,k番目に近い点に対する距離を求め,この距離に対して並べ替えた点をプロットします。一般に,このグラフには,折れ曲がる部分があります。点が外れ値(ノaapl .ズ)領域に近づき始める領域なので,折れ曲がる部分に対応する距離は一般にε
に適した選択肢です[1]。
DBSCANは,データ内のクラスターとノイズを検出するように設計されている,密度に基づくクラスタリングアルゴリズムです。このアルゴリズムでは,コア点,境界点およびノaaplズ点という3種類の点を識別します[1]。関数dbscan
は,指定されたε
およびminpts
の値に対して,以下のようにアルゴリズムを実装します。
入力デ,タセットX
から,ラベルが付いていない1番目の観測値x1を現在の点として選択し,1番目のクラスタ,ラベルcを1に初期化します。
現在の点の@ @プシロン近傍ε
内にある点の集合を求めます。これらの点は近傍点です。
近傍点数がminpts
より小さい場合,現在の点にノ▪▪▪▪ズ点(▪▪▪まり外れ値)のラベルを付けます。ステップ4に進みます。
メモ
X
内の他の点のε
とminpts
によって設定される制約を後にノ电子邮箱ズ点が満たす場合,dbscan
はノ▪▪ズ点をクラスタ▪▪に再割り当てする可能性があります。このように点を再割り当てする処理は,クラスタ,の境界点に対して発生します。
それ以外の場合,クラスタ,cに属するコア点のラベルを現在の点に付けます。
現在のクラスターCに属しているというラベルを付けられる新しい近傍点が見つからなくなるまで,各近傍点(新しい現在の点)に対してステップ2を繰り返します。
X
内でラベルが付いていない次の点を現在の点として選択し,クラスタ,カウントに1を加算します。
X
内のすべての点にラベルが付けられるまで,ステップ2 ~ 4を繰り返します。
2つのクラスターの密度が異なっており,互いに近い場合,つまり,2つの境界点の距離(各クラスターからの距離)がε
未満である場合,dbscan
は2のクラスタを1に結合する可能性があります。
すべての有効なクラスタ,にminpts
個以上の観測値が含まれるとは限りません。たとえば,dbscan
は,互いに近い2のクラスタに属する境界点を識別する可能性があります。このような場合,最初に検出されたクラスタ,に境界点が割り当てられます。この結果,2番目のクラスタ,は有効なクラスタ,のままですが,観測値の個数がminpts
より少なくなる可能性があります。
酯,M., h . p。Kriegel, J. Sander, X. Xiaowei。“一种基于密度的算法,用于在有噪声的大型空间数据库中发现集群。”第二届数据库和数据挖掘知识发现国际会议论文集,226-231。波特兰:AAAI出版社,1996年。