聚类算法2-聚类算法api初步使用
2021/9/26 11:41:13
本文主要是介绍聚类算法2-聚类算法api初步使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1 api介绍
sklearn.cluster.KMeans(n_clusters=8)
- 参数:
- n_clusters:开始的聚类中心数量,产生的质心数。
- 方法:
- estimator.fit(x)
- estimator.predict(x)
- estimator.fit_predict(x)
fit_predict计算聚类中心并预测每个样本属于哪个类别,相当于先调用fit(x),然后再调用predict(x)
2 案例
随机创建不同二维数据集作为训练集,并结合k-means算法将其聚类,你可以尝试分别聚类不同数量的簇,并观察聚类效果:
聚类参数n_cluster传值不同,得到的聚类结果不同
2.1 流程分析
2.2 代码实现
导入需要的包
import matplotlib.pyplot as plt # 注意make_blobs的导入形式 from sklearn.datasets import make_blobs from sklearn.cluster import KMeans # 注意是harabasz而不是harabaz from sklearn.metrics import calinski_harabasz_score
1.创建数据集
# 创建数据集 # X为样本特征,Y为样本簇类别, 共1000个样本,每个样本4个特征,共4个簇, # 簇中心在[-1,-1], [0,0],[1,1], [2,2], 簇方差分别为[0.4, 0.2, 0.2, 0.2] X, y = make_blobs(n_samples=1000, n_features=2, centers=[[-1, -1], [0, 0], [1, 1], [2, 2]], cluster_std=[0.4, 0.2, 0.2, 0.2], random_state=9) # 数据集可视化 plt.scatter(X[:, 0], X[:, 1], marker='o') plt.show()
2.使用k-means进行聚类,并使用CH方法评估
#k-means训练,且可视化 # 分别尝试n_cluses=2\3\4,然后查看聚类效果 y_pred = KMeans(n_clusters=4, random_state=9).fit_predict(X) plt.scatter(X[:, 0], X[:, 1], c=y_pred) plt.show()
3.用Calinski-Harabasz Index评估的聚类分数
print(calinski_harabaz_score(X, y_pred))
这篇关于聚类算法2-聚类算法api初步使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28AI给的和自己写的Python代码,都无法改变输入框的内容,替换也不行
- 2024-09-27Sentinel配置限流资料:新手入门教程
- 2024-09-27Sentinel配置限流资料详解
- 2024-09-27Sentinel限流资料:新手入门教程
- 2024-09-26Sentinel限流资料入门详解
- 2024-09-26Springboot框架资料:初学者入门教程
- 2024-09-26Springboot框架资料详解:新手入门教程
- 2024-09-26Springboot企业级开发资料:新手入门指南
- 2024-09-26SpringBoot企业级开发资料新手指南
- 2024-09-26Springboot微服务资料入门教程