首页 > 编程知识 正文

k均值算法的原理,k均值聚类法的方法

时间:2023-05-04 23:29:38 阅读:12120 作者:4392

“”轮廓系数-----聚类的评价指标

良好的聚类:内密外稀,同一个集群内的样本必须足够密集,不同集群之间的样本必须足够稀疏。

轮廓系数计算规则:针对样本空间中的某个特定样本,计算该样本与集群中其他样本的平均距离a,

以及样本与最近的其他集群中所有样本的平均距离b。 该样本的轮廓系数为(b-a )/max(a,b )。

设整个样本空间中所有样本的轮廓系数为算术平均值,作为聚类划分的性能指标s。

轮廓系数的区间是[-1,1 ]。 -1表示分类效果低,1表示分类效果好。 0表示集群重叠,集群没有很好地划分。

配置文件系数相关API :

import sklearn.metrics as sm

# v :平均轮廓系数

#度量:距离算法:使用年轻羊的距离(euclidean )

v=sm.silhouette_score (输入集、输出集、sample_size=采样数、度量=距离算法)。

情况:输出k均值算法聚类分割后的轮廓系数。 ''''

importnumpyasnpimportmatplotlib.pyplotasmpimportsklearn.clusterasscimportsklearn.metrics assm #读取数据并绘制图像

x=NP.load txt ('./ml _ data/multiple3. txt ),unpack=False,dtype='f8 ',delimiter=',') print ) x.sh

模型=sc.k means (n _ clusters=4)。

完成model.fit(x ) #群集

pred_y=model.predict(x ) #预测点位于哪个群集

输出每个print(pred_y )样本的簇标签)打印轮廓系数

获取print(sm.silhouette_score(x,pred_y,sample_size=len(x ) x,metric='euclidean ' ) )集群中心

centers=model.cluster _ centers _ print (centers ) #绘制分类界线

l,r=x [ :0 ].min (-1,x [ :0 ].max ) 1b,t=x [ :1 ].min )-1,x [ :1 ].mm

BG _ x=NP.column _ stack ((grid _ x.ravel ),grid_y.ravel ) )

BG_y=model.predict(BG_x )。

绘制grid _ z=BG _ y.reshape (grid _ x.shape ) #图显示示例数据

MP.figure('kmeans ',facecolor='lightgray ' ) )

MP.title('kmeans ',fontsize=16 ) )。

MP.xlabel('x ',fontsize=14 ) )。

MP.ylabel('y ',fontsize=14 ) )。

MP.Tick_Params(labelsize=10 ) )。

MP.Pcolormesh(grid_x,grid_y,grid_z,cmap='gray ' ) )

MP.scatter (x [ :0 ],x [ :1 ],s=80,c=pred_y,cmap='brg ',label='Samples ' ) ) )。

MP.scatter (centers [ :0 ],centers [ :1 ],s=300,color='red ',marker=' ',label='cluster center

mp.legend () )

mp.show () )

输出结果:

(200,2 ) ) )。

[ 110213021302130213021302130213023302302130213023130231030202121

3 0 2 1 3 0 2 1 3 0 2 1 3 0 2 1 3 0 2 1 3 0 2 1 3 0 2 1 3 0 2 1 3 0 2 1 302 1 3 0 2 1 3 0 2 1 3 0 2 1 3 0 2 1 3 0 2 0 3 0 2 1 3 0 2 1 3 0 2 1 302 1 3 0 2 1 3 0 2 1 3 0 2 1 3 0 2 1 3 0 2 1 3 0 2 1 3 0 2 1 3 0 2 1 3 0 2

1 1 0 2 1 3 0 2 1 3 0 3 1 3 0 2 1 3 0 2 1 3 0 2 1 3 0 2 1 3 0 2 1 3 0 2 1

3213021302021302302 (0.5773232071896659 (5.911960782.04980392 ) )。

[1.831 1.9998]

[7.07326531 5.61061224]

[3.1428 5.2616 ]]

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。