聚类算法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)
相关推荐
梧桐1689 小时前
14天、31个缺陷、28个测试脚本—用 Claude Code 完成第三方软件测试
人工智能·测试工具
罗西的思考9 小时前
【轻量化复刻大模型】线性注意力交互式演示
人工智能·算法·机器学习
美狐美颜sdk9 小时前
视频美颜SDK中的YUV与RGBA格式有什么区别?直播APP开发解析
人工智能·计算机视觉·音视频·美颜sdk·直播美颜sdk·视频美颜sdk
jimmyleeee10 小时前
Agent安全之七:当智能体之间开始“互相信任”------深入理解 OWASP ASI07 不安全的智能体间通信
人工智能·安全
二哈赛车手10 小时前
新人笔记---hermes定时功能设计,具体讲解以及可优化点
java·人工智能·笔记·spring·ai·typescript
Fluxproxy10 小时前
大模型批量数据采集:AI 自动化工作流搭建实战
大数据·人工智能·自动化
AAwangzong10 小时前
AI时代RPA技术解析:如何构建兼顾流程执行与智能决策的自动化平台?
人工智能·经验分享·rpa·智能体
达达表哥10 小时前
AI综合站商业分发系统v3.1纯净版发布 附完整安装教程(排版修正版)
人工智能