Klasteryzacja, dendrogramy



Pandas jest biblioteką oferującą szereg narzędzi do obróbki danych.
Aby zastosowaćbibliotekę w kodzie należy ją zaimportować.



Program realizuje klasteryzację oraz tworzy dendrogram dla losowo wygenerowanej populacji.

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs

import scipy.cluster.hierarchy as sch
from sklearn.cluster import AgglomerativeClustering

#generujemy dane

dataset = make_blobs(n_samples=200,centers=5,n_features =2,cluster_std=1.9,random_state=50)
#n_samples - ilosć próbek, center - ilość klastrów, n_features - ilość cech próbek
plt.scatter(dataset[0][:,0],dataset[0][:,1])
#plt.show()
 
points=dataset[0]

#dendrogram=sch.dendrogram(sch.linkage(points,method='ward'))
hc=AgglomerativeClustering(n_clusters=5, affinity='euclidean', linkage='ward')
y_hc=hc.fit_predict(points)

#plt.scatter(points[y_hc==0,0], points[y_hc==0,1],s=100,c='cyan')
#plt.scatter(points[y_hc==1,0], points[y_hc==1,1],s=100,c='yellow')
#plt.scatter(points[y_hc==2,0], points[y_hc==2,1],s=100,c='red')
#plt.scatter(points[y_hc==3,0], points[y_hc==3,1],s=100,c='green')
#plt.scatter(points[y_hc==4,0], points[y_hc==4,1],s=100,c='blue')
plt.show()                              

	
Dane początkowe.



Dendrogram.



Klastry.



:)