这篇“怎么用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))
以上就是关于“怎么用python获取最优轮廓系数”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。