oraclesai.clustering.DBScanClustering
- class DBScanClustering(eps=None, min_samples=2, metric='euclidean', metric_params=None, algorithm='auto', leaf_size=30, p=None, n_jobs=None, spatial_weights_definition=None, use_spatial_weights_distances=True)
DBSCANは、大量のデータを基に、様々なシェイプやサイズのクラスタを検出できる密度ベースのクラスタリング技術です。 このアルゴリズムでは、パラメータとしてクラスタの数は必要ありません。 アルゴリズムは任意の時点で開始します。少なくとも
min_samples
ポイントがeps
の半径内にある場合、近隣のすべてのポイントは同じクラスタの一部とみなされます。 その後、近隣のすべてのポイントについてプロセスが繰り返されます。 ポイントには次の3つのタイプがあります:- コア・ポイント
半径
eps
内の近傍に少なくともmin_samples
個のポイントがあります。
- ボーダー点
コア・ポイントから到達可能ですが、近所のポイント数は
min_samples
未満です。
- ノイズ・ポイント
コア・ポイントでもボーダー点でもなく、どのコア・ポイントからも到達できないポイントです。
リージョン化は、DBSCANアルゴリズムに空間コンテキストを提供するために使用されます。 このように、同じクラスタの観測は、属性だけでなく、その空間のロケーションでも同様です。
- パラメータ:
eps - float, default=None。 2つのサンプル間の最大距離。1つのサンプルは、もう一方のサンプルの近傍と見なされます。 Noneの場合、K-Distanceメソッドを使用して
eps
の最適値を推定します。min_samples - int, default=None。 コア・ポイントと見なされるポイントの近傍のサンプルの数。 Noneの場合、データ内の機能の数を使用して推定されます。
metric - str、または呼び出し可能、default='euclidean'。 フィーチャ配列のインスタンス間の距離を計算するために使用されるメトリック。 メトリックが文字列またはコール可能な場合は、 :funcで許可されるオプションのいずれかである必要があります :
sklearn.metrics.pairwise_distances
。 メトリックが'事前計算済'の場合、X
は距離行列とみなされ、正方形である必要があります。metric_params - dict, default=None。 メトリック関数の追加の引数
algorithm - {‘auto’, ‘ball_tree’, ‘kd_tree’, ‘brute’}, default=’auto’. NearestNeighborsモジュールがポイント単位の距離をコンピュートし、最も近い近傍を見つけるために使用するアルゴリズム。
leaf_size - int、default=30。 BallTreeまたはcKDTreeに渡されるリーフ・サイズ。 これは、構築と問合せの速度、およびツリーの格納に必要なメモリーに影響を与える可能性があります。 最適な値は問題の性質によって異なります。
p - float, default=None。 点間の距離の計算に使用されるMinkowskiメトリックの力。 Noneの場合は、
p=2
(ユークリッド距離と同等)。n_jobs - int, default=None。 実行するパラレル・ジョブの数
spatial_weights_definition - SpatialWeightsDefinition, default=None。 空間関係の指定。 ネイバーの識別に使用される基準を定義します(KNNWeightsDefinition、DistanceBandWeightsDefinitionなど)。
use_spatial_weights_distances - bool, default=True。 Trueの場合、マトリックスを距離として使用します。 Falseの場合、すべてのネイバーまでの距離をゼロに設定します。
メソッド
__init__
([eps, min_samples, metric, ...])fit
(X[, y, geometries, spatial_weights, crs])指定されたデータおよびパラメータを持つDBSCANモデルに適合します。空間重みが定義されている場合は、リージョン化が実行され、同じクラスタの要素が地理的に接続されます。
fit_predict
(X[, y, geometries, ...])クラスタリング・モデルをトレーニングし、各観測に割り当てられたラベルを返します。
get_params
([deep])このエスティメータのパラメータを取得します。
set_params
(**params)このエスティメータのパラメータを設定します。
属性
METRIC_PRECOMPUTED
NON_NEIGHBOR_DISTANCE
2つのサンプル間の最大距離。1つのサンプルがもう一方のサンプルの隣りと見なされます。
結果のクラスタのisoperimetric quotient (IPQ)。
各サンプルに関連付けられたクラスタを示す配列。
コア・ポイントと見なされるポイントの近傍のサンプルの数。
結果のクラスタのシルエット・スコア。