知行编程网知行编程网  2022-12-11 08:00 知行编程网 隐藏边栏  19 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python如何获取最优轮廓系数的相关知识,包括kmeans聚类分析轮廓系数,以及python提取轮廓中心线这些编程知识,希望对大家有参考作用。

如何在python中获得最佳轮廓系数

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

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

2.也可以画画观察,选择最高的。但是为了防止出现拟合现象,最好的k值也可以通过弯头来选择。


实例

from sklearn.cluster import KMeans
from 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))


本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享