1、聚类算法简介
典型的无监督算法,主要用于将相似的样本自动归到一个类别中。
根据样本之间的相似性,将样本划分到不同的类别中,对于不同的相似度计算方法,会得到不同的聚类结果。常用的相似度计算方法是欧式距离法
聚类算法与分类算法的区别:
聚类算法是无监督的学习算法,而分类算法属于监督学习。
2、聚类算法API
API:sklearn.cluster.KMeans(n_clusters=8)
参数:n_clusters要聚类的中心数,默认值8
调用方法:estimator.fit(x)、estimator.predict(x)、estimator.fit_predect(x)-指先fit再预测
2.1案例
import matplotlib.pyplot as plt
#from sklearn.datasets.samples_generator import make_blobs
from sklearn.cluster import KMeans
#from sklearn.metrics import calinski_harabaz_score
#创建数据
x,y = make_bloks(n_samples=1000,n_features=2,centers=[[-1,-1],,[0,0],[1,1],[2,2]],cluster_std=[0.4,0.2,0.2,0.2],random_state=9)
#生成1000个数,两个特征值,4个中心点,标准差越大越离散,
plt.scatter(x[:,0],x[:,1],marker="o")
plt.show()
#kmeans训练且可视化
y_pre = KMeans(n_clusters=2,random_stats=9).fit_predict(x)
#可视化展示
plt.scatter(x[:,</