クラスタのプロット
oraclesai.visのplot_clusters関数を使用すると、ジオメトリとラベルを関連付け、この関連付けをマップに表示できます。
この関数は、SpatialDataFrameまたはGeoDataFrameのデータと連携します。
次の表に、plot_clusters関数の主なパラメータを示します。
| パラメータ | 説明 |
|---|---|
X |
ジオメトリを含むデータ。 SpatialDataFrameまたはGeoDataFrameのいずれかです。
|
labels |
Xに関連付けられたラベル。 Xの各監視には、ラベルが割り当てられています。
|
background_data |
SpatialDataFrameまたはジオメトリをバックグラウンドとするGeoDataFrame。
|
crs |
プロットに使用する座標参照系を示します。 デフォルトでは、X.crsが使用されます。
|
with_bounds |
Trueの場合、各クラスタは囲まれたポリゴンで表示されます。
|
with_noise |
Falseの場合、ラベルが -1のすべての観測は無視されます。 それ以外の場合、観測はクラスタに割り当てられます。
|
with_legend |
Trueの場合、クラスタのラベルを示す凡例が表示されます。
|
with_basemap |
Trueの場合、デフォルトのベース・マップが表示されます。 TileProviderインスタンスが渡されると、ベース・マップとして使用されます。 または、ax以外のoracles.vis.add_basemapパラメータを使用してディクショナリを取得することもできます。
|
詳細は、「Oracle Spatial AI Python APIリファレンス」のplot_clusters関数を参照してください。
次の例では、MEDIAN_INCOME列を使用して、LISAHotspotClusteringインスタンスでクラスタリング・モデルをトレーニングします。 次に、マップでplot_clusters関数を使用して、ジオメトリおよび対応するラベルを表示します。
import matplotlib.pyplot as plt
from oraclesai.weights import KNNWeightsDefinition
from oraclesai.clustering import LISAHotspotClustering
from oraclesai.vis import plot_clusters
X = block_groups["MEDIAN_INCOME"]
# Define spatial weights
weights_definition = KNNWeightsDefinition(k=10)
# Create an instance of LISAHotspotClustering
lisa_model = LISAHotspotClustering(max_p_value=0.05,
spatial_weights_definition=weights_definition)
# Train the model
lisa_model.fit(X)
fig, ax = plt.subplots(figsize=(12,12))
plot_clusters(X, lisa_model.labels_, with_noise=False, with_basemap=True, cmap='Dark2', ax=ax)出力は次のようになります:
