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

eps_

2つのサンプル間の最大距離。1つのサンプルがもう一方のサンプルの隣りと見なされます。

isoperimetric_quotient_

結果のクラスタのisoperimetric quotient (IPQ)。

labels_

各サンプルに関連付けられたクラスタを示す配列。

min_samples_

コア・ポイントと見なされるポイントの近傍のサンプルの数。

silhouette_score_

結果のクラスタのシルエット・スコア。