聚类算法api初步使用

聚类算法api初步使用

1 api介绍

mode = sklearn.cluster. KMeans(n_clusters=8)

  • 参数:
    "k-means++" 是一种智能初始化方法,它选择初始质心的方式可以避免一些不良聚类结果,从而提高聚类效果.
  • 方法:
    • estimator.fit(x) # x 特征列 ,无监督学习中没有目标值
    • estimator.predict(x)
  • estimator.fit_predict(x)
    计算聚类中心并预测每个样本属于哪个类别,相当于先调用fit(x),然后再调用predict(x)
    mode.inertia_ # 返回SSE值

2 案例

随机创建不同二维数据集作为训练集,并结合k-means算法将其聚类,你可以尝试分别聚类不同数量的簇,并观察聚类效果:

聚类参数n_cluster传值不同,得到的聚类结果不同

2.1流程分析

2.2 代码实现

1.创建数据集

python 复制代码
import matplotlib.pyplot as plt
from sklearn.datasets.samples_generator import make_blobs
from sklearn.cluster import KMeans
from sklearn.metrics import calinski_harabaz_score

# 创建数据集
# X为样本特征,Y为样本簇类别, 共1000个样本,每个样本2个特征,共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方法评估

python 复制代码
y_pred = KMeans(n_clusters=2, random_state=9).fit_predict(X)
# 分别尝试n_cluses=2\3\4,然后查看聚类效果
# 第一列为横轴,第二列为纵轴,c 表示颜色,颜色用预测值来标识
plt.scatter(X[:, 0], X[:, 1], c=y_pred) 
plt.show()

# 用Calinski-Harabasz Index评估的聚类分数
print(calinski_harabasz_score(X, y_pred))

3 小结

  • api:sklearn.cluster.KMeans(n_clusters=8)【知道】
    • 参数:
      • n_clusters:开始的聚类中心数量
    • 方法:
      • estimator.fit_predict(x)
        • 计算聚类中心并预测每个样本属于哪个类别,相当于先调用fit(x),然后再调用predict(x)
相关推荐
云卓SKYDROID5 分钟前
无人机气动设计模块解析
人工智能·计算机视觉·目标跟踪·无人机·高科技
数据皮皮侠10 分钟前
中国汽车能源消耗量(2010-2024年)
大数据·数据库·人工智能·物联网·金融·汽车·能源
weixin_4640780712 分钟前
机器学习sklearn:决策树的参数、属性、接口
决策树·机器学习·sklearn
love530love31 分钟前
Windows 11 下 Anaconda 命令修复指南及常见问题解决
运维·ide·人工智能·windows·python·架构·conda
NeoFii32 分钟前
Day 24:元组与os模块
python·机器学习
东风中的蒟蒻36 分钟前
MOE 速览
人工智能·language model
SimonKing1 小时前
一文搞定:SpringBoot集成语音识别模型FunASR
java·人工智能·后端
聚客AI1 小时前
📚企业AI架构革命:MCP协议如何打通数据孤岛?
人工智能·llm·mcp
易知微EasyV数据可视化1 小时前
3D高斯泼溅技术:数字孪生的新一代数据引擎
人工智能·3d·数字孪生·建模·3d高斯泼溅技术
Leo.yuan2 小时前
数据处理工具是做什么的?常见数据处理方法介绍
大数据·数据库·人工智能·python·信息可视化