#python #scikit-learn #cluster-analysis #hierarchical-clustering
Вопрос:
Мне было интересно, есть ли элегантный способ (суб)кластеризации внутри кластеров. Скажем, я использую км кластеризации на простой таблицы данных с n_clusters=3
и снова я хочу повторно кластера/с подгруппой n_clusters=3
, так что я не уверен, что вспомнить этой проблеме иерархической кластеризации, который предлагает AgglomerativeClustering() и ОФК n_clusters=2
по умолчанию, и оно должно быть всегда 2 я никогда не испытывал к силе более чем в 2 из-за не уверен, что это имеет смысл воспользоваться суб-кластеров с n_clusters
> 2
помощью AgglomerativeClustering()
для данного контекста или это одно и то же.
Я только что нашел этот относительный R
язык сообщений.
Я пытался вдохновиться примерами из scikit-learn и безуспешно создать один из них.
import numpy as np
from sklearn.datasets.samples_generator import make_blobs
from sklearn.cluster import KMeans
###############################################################################
# Generate sample data
centers = [[1, 1], [-1, -1], [1, -1]]
X, _ = make_blobs(n_samples=10000, centers=centers, cluster_std=0.6)
###############################################################################
# Compute clustering with K-Mean
# The following bandwidth can be automatically detected using
bandwidth = estimate_bandwidth(X, quantile=0.2, n_samples=500)
def KM_(n_clusters=4):
km = KMeans(n_clusters=n_clusters, random_state=0)
km.fit(X)
labels = km.labels_
cluster_centers = km.cluster_centers_
labels_unique = np.unique(labels)
n_clusters_ = len(labels_unique)
print("number of estimated clusters : %d" % n_clusters_)
#call clustering function
cluster= KM_(4)
#re-call clustering function
subcluster = KM_(3).cluster