怎么用python获取最优轮廓系数

这篇“怎么用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获取最优轮廓系数”这篇文章内容,相信大家都有了一定的了解,希望小编分享内容对大家有帮助,若想了解更多相关的知识内容,请关注编程之家行业资讯频道。

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...