oraclesai.clustering.AgglomerativeClustering

class AgglomerativeClustering(n_clusters=2, metric='euclidean', linkage='ward', distance_threshold=None, n_jobs=None, spatial_weights_definition=None)

Agglomerative Clustering Algorithm。 各監視は独自のクラスタで開始され、次に、最も近い2つのクラスタがマージされて1つのクラスタを形成します。このプロセスは、停止条件が満たされるまで、または1つのクラスタが残るまで繰り返されます。 空間加重を定義することで、このアルゴリズムは、同じクラスタの要素を地理的に接続する空間制約を含むリージョン化を実行します。

パラメータ:
  • n_clusters - int、default=2。 作成するクラスタの数

  • metric - strまたはcallable、default="euclidean"。 観測間の距離を計算する際に使用するメトリック。

  • linkage - {'ward', 'complete', 'average', 'single'}, default='ward'. 使用する距離を決定します。 このアルゴリズムは、この基準を最小化するクラスタのペアをマージします。'ward'は、クラスタの差異を最小限に抑えます。'average'は、2つのクラスタの各観測の距離の平均を使用します。'complete'は、2つのクラスタのすべての観測間の最大距離を使用します。'single'は、2つのクラスタのすべての観測間の最小距離を使用します。

  • distance_threshold - float, default=None。 リンク距離しきい値。 Noneでない場合は、n_clustersをNoneにする必要があります

  • n_jobs - int, default=None。 実行するパラレル・ジョブの数

  • spatial_weights_definition - SpatialWeightsDefinition, default=None。 空間関係の指定。 ネイバーの識別に使用される基準を定義します(KNNWeightsDefinition、DistanceBandWeightsDefinitionなど)。

メソッド

__init__([n_clusters, metric, linkage, ...])

fit(X[, y, geometries, spatial_weights, crs])

最初は、すべての観測が別のクラスタに関連付けられ、次にlinkageパラメータに従って最も近い2つのクラスタがマージされます。これは、クラスタ数がn_clustersと等しいか、最も近い2つのクラスタ間の距離が``distance_threshold``より大きいまで続きます。

fit_predict(X[, y, geometries, ...])

クラスタリング・モデルをトレーニングし、各観測に割り当てられたラベルを返します。

get_params([deep])

このエスティメータのパラメータを取得します。

set_params(**params)

このエスティメータのパラメータを設定します。

属性

METRIC_PRECOMPUTED

NON_NEIGHBOR_DISTANCE

isoperimetric_quotient_

生成されるクラスタのIsoperimetric quotient (IPQ)。

labels_

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

n_clusters_

クラスタの数。

silhouette_score_

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