モデルのトレーニング
LISAHotspotClustering
クラスを使用して、クラスタおよび外れ値を識別できます。 これまでに実行されたすべての分析を内部で実行し、データセット内の各観測についてローカルMoranのIを計算して、対応する四分位数に割り当てます。
ビルド・パラメータに応じて、一部の監視に -1 (未定義)のラベルを付けることができます。 たとえば、次のコードでは、max_p_value=0.05
パラメータを設定すると、統計的に重要な値のみを保持するために、0.05より大きいp値を持つすべての観測に-1というラベルが付けられます。
from oraclesai.clustering import LISAHotspotClustering
# Create an instance of LISAHotspotClustering
lisa_model = LISAHotspotClustering(column="MEDIAN_INCOME",
max_p_value=0.05,
spatial_weights_definition=weights_definition)
# Train the model
lisa_model.fit(X)
# Print the labels
lisa_labels = lisa_model.labels_
print(f"labels = {lisa_labels[:10]}")
プログラムの出力は、トレーニング・セットの最初の10個の観察に割り当てられたラベルまたは四分位数です。
labels = [ 2 2 1 1 1 1 1 -1 -1 -1]
ホット・スポットのラベルは1、コールド・スポットのラベルは3です。 ホット・スポットとコールド・スポットのみを識別するには、次を実行します。
import numpy as np
hotcold_labels = np.where(lisa_labels % 2 != 0, lisa_labels, -1)
空間外れ値は、近傍値とは異なる値を持つ観察です。 これらは、ラベル2および4で表されます。 空間外れ値を識別するには、次のコードを実行します。
outlier_labels = np.where(lisa_labels % 2 == 0, lisa_labels, -1)