能够学习和掌握编程,最好的学习方法,就是掌握基本的使用技巧,再多的概念意义,总是为了使用服务,K-means算法又称K-均值算法,是非监督学习中的聚类算法。主要有三个元素,其中n是元素数,x是元素,c(j)表示第j簇的质感,下面简单介绍一下使用方法的实例。
K-Means算法进行聚类分析
km=KMeans(n_clusters=3) km.fit(X) centers=km.cluster_centers_ print(centers)
三簇的中心点坐标为:
[[5.0063.428] [6.812765963.07446809] [5.773584912.69245283]]
比较一下K-Means聚类结果与实际样本的区别:
predicted_labels=km.labels_ fig,axes=plt.subplots(1,2,figsize=(16,8)) axes[0].scatter(X[:,0],X[:,1],c=y,cmap=plt.cm.Set1, edgecolor='k',s=150) axes[1].scatter(X[:,0],X[:,1],c=predicted_labels,cmap=plt.cm.Set1, edgecolor='k',s=150) axes[0].set_xlabel('Sepallength',fontsize=16) axes[0].set_ylabel('Sepalwidth',fontsize=16) axes[1].set_xlabel('Sepallength',fontsize=16) axes[1].set_ylabel('Sepalwidth',fontsize=16) axes[0].tick_params(direction='in',length=10,width=5,colors='k',labelsize=20) axes[1].tick_params(direction='in',length=10,width=5,colors='k',labelsize=20) axes[0].set_title('Actual',fontsize=18) axes[1].set_title('Predicted',fontsize=18)
你可以把代码带进来,自己看输出结果,观察不同。好了,以上就是例子的介绍。感兴趣的朋友可以消化掌握。