Построение границ зоны кластера в Python с помощью пакета scikit
Вот мой простой пример работы с кластеризацией данных в атрибуте 3 (x, y, value). каждый образец представляет свое местоположение (x, y) и принадлежащую ему переменную.
Мой код был опубликован здесь:
x = np.arange(100,200,1)
y = np.arange(100,200,1)
value = np.random.random(100*100)
xx,yy = np.meshgrid(x,y)
xx = xx.reshape(100*100)
yy = yy.reshape(100*100)
j = np.dstack((xx,yy,value))[0,:,:]
fig = plt.figure(figsize =(12,4))
ax1 = plt.subplot(121)
xi,yi = np.meshgrid(x,y)
va = value.reshape(100,100)
pc = plt.pcolormesh(xi,yi,va,cmap = plt.cm.Spectral)
plt.colorbar(pc)
ax2 = plt.subplot(122)
y_pred = KMeans(n_clusters=12, random_state=random_state).fit_predict(j)
vb = y_pred.reshape(100,100)
plt.pcolormesh(xi,yi,vb,cmap = plt.cm.Accent)
На рисунке представлены здесь:
Как определить границы каждой кластерной зоны и наметить их, чтобы усилить эффект визуализации.
PSВот иллюстрация, которую я строю вручную. Мне нужно определить границы кластеризации и изобразить их в виде линий.
PPSЯ нашел интересный вопросВот пытаясь нарисовать границы области кластера вR
ОбновитьПосле того, как я попробовал подпрограмму, следует:
for i in range(n_cluster):
plt.contour(vb ==i contours=1,colors=['b'])
Это сделано!