轮廓配准(python如何获取最优轮廓系数)
导读:如果想要最好的点,应该选择最高的点。...
如果想要最好的点 ,应该选择最高的点 。
1 、通过设置不同的k值来测试和计算轮廓系数 ,可以获得最佳k值对应的最佳轮廓系数 。
2 、也可以绘图观察和选择最高 。但为了防止拟合现象 ,也可以通过手肘选择最佳k值 。
实例
fromsklearn.clusterimportKMeans fromsklearn.preprocessingimportMaxAbsScaler#小数定标标准化 fromsklearn.preprocessingimportMinMaxScaler#离差标准化 fromsklearn.preprocessingimportStandardScaler#标准差标准化 #评估指标-----轮廓系数 fromsklearn.metricsimportsilhouetee_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获取最优轮廓系数的方法 ,希望对大家有所帮助 。更多Python学习指路:Python基础教程
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!