クラスタリング
この例では、クラスタの数と空間重みのタイプを指定して、特定のデータセットに対してリージョン化アルゴリズムを使用してagglomerativeを実行する方法を示します。
クラスタリング・アルゴリズムはmethod
パラメータで設定され、クラスタ数と空間加重はそれぞれn_clusters
パラメータとweights_def
パラメータで定義されます。 クラスタ化の対象となる機能は、columns
パラメータで指定されます。
select *
from table(
pyqEval(
'{
"oml_connect": true,
"table": "oml_user.la_block_groups",
"columns": ["median_income"],
"method": "AGGLOMERATIVE",
"n_clusters": 6,
"key_column": "geoid",
"weights_def": {"type": "Queen"}
}',
'{ "geoid": "VARCHAR2(50)", "label": "NUMBER" }',
'clustering'
)
);
結果には、key_column
パラメータで指定された索引列と各行のラベルが含まれ、それらが属しているクラスタが示されます。
SELECT IMAGE句およびtrue
に設定されたoml_graphics_flag
パラメータを使用して、クラスタをビジュアル化できます。 次のコードでは、plot
パラメータは、ベース・マップをバックグラウンドとして使用することを示します。 また、出力形式( out_fmt
)はPNG
に設定されています。
select IMAGE
from table(
pyqEval(
par_lst => '{
"oml_connect": true,
"oml_graphics_flag": true,
"table": "oml_user.la_block_groups",
"columns": ["median_income"],
"method": "AGGLOMERATIVE",
"n_clusters": 6,
"key_column": "geoid",
"weights_def": {"type": "Queen"},
"plot": {"with_basemap": true}
}',
out_fmt => 'PNG',
scr_name => 'clustering'
)
);
結果は、割り当てられたクラスタに従って観測が色付けされたマップになります。 n_clusters
パラメータで指定された6つのクラスタがあることに注意してください。 空間重みを定義することにより、集合クラスタリング・アルゴリズムはリージョン化を実行します。 つまり、同じクラスタに割り当てられた観測は共通の特性を共有し、地理的に接続されます。