クラスタのプロット
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)
出力は次のようになります: