千家信息网

python怎么获取最优轮廓系数

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要介绍了python怎么获取最优轮廓系数,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。如果想要最好的点,应该选择最高的点。1
千家信息网最后更新 2025年01月20日python怎么获取最优轮廓系数

这篇文章主要介绍了python怎么获取最优轮廓系数,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

如果想要最好的点,应该选择最高的点。

1、通过设置不同的k值来测试和计算轮廓系数,可以获得最佳k值对应的最佳轮廓系数,

2、也可以绘图观察和选择最高。但为了防止拟合现象,也可以通过手肘选择最佳k值。

实例

from sklearn.cluster import KMeansfrom sklearn.preprocessing import MaxAbsScaler  # 小数定标标准化from sklearn.preprocessing import MinMaxScaler  # 离差标准化from sklearn.preprocessing import StandardScaler  # 标准差标准化# 评估指标-----轮廓系数from sklearn.metrics import silhouetee_score # 由于是聚类算法,数据可能存在量纲,需要标准化,在使用算法之前# 实例化sca = MaxAbsScaler()sca = MinMaxScaler()sca = StandardScaler()# 拟合sca.fit( 训练集特征 )# 处理数据X_train = sca.transform( 训练集特征 )  # 实例化km = KMeans()# 参数:# n_clusters=3,表示k=3,也就是随机三个聚类中心,最小值是2# init,聚类中心初始化方法,默认k-means++# max_iter,最大迭代次数,默认300,如果后期无法收敛可以尝试增加迭代次数# random_state=1,随机种子,默认是None # 拟合km.fit( 训练集特征 ) # 查看聚类中心print('聚类中心:', km.cluster_centers_) # 查看预测结果# 可以直接传入训练集,也可以传入自定义二维数组y_pred = km.predict( 训练集特征 )print('整个数据的类别:', y_pred) # 查看SSE---误差平方和# 默认是取反操作,大多数情况得出来的是负值【-inf, 0】# 绝对值越小越好score = km.score(X_train, y_pred)print('SSE', score) # 评估指标----轮廓系数(-1, 1),越大越好print('轮廓系数:', silhouetee_score(X_train, y_pred))

感谢你能够认真阅读完这篇文章,希望小编分享的"python怎么获取最优轮廓系数"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

0