聚类算法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)
相关推荐
Landy_Jay1 小时前
深度学习:从零开始的DeepSeek-R1-Distill有监督微调训练实战(SFT)
人工智能·深度学习
淘小欣1 小时前
10分钟打造专属AI助手:用ms-swift实现自我认知微调
开发语言·人工智能·ai·swift·模型微调
Y1nhl2 小时前
搜广推校招面经五十五
人工智能·python·深度学习·机器学习·广告算法·推荐算法·搜索算法
liufangshun5 小时前
【DeepSeekR1】怎样清除mssql的日志文件?
数据库·人工智能·sqlserver
深圳市快瞳科技有限公司5 小时前
AI鸟类识别技术革新生态监测:快瞳科技如何用“智慧之眼”守护自然?
人工智能·科技
ModelWhale5 小时前
和鲸科技受邀赴中国气象局气象干部培训学院湖南分院开展 DeepSeek 趋势下的人工智能技术应用专题培训
人工智能·科技
Fansv5875 小时前
深度学习框架PyTorch——从入门到精通(3)数据集和数据加载器
人工智能·pytorch·深度学习
Sunday_ding8 小时前
NLP 与常见的nlp应用
人工智能·自然语言处理
一ge科研小菜鸡8 小时前
当下主流 AI 模型对比:ChatGPT、DeepSeek、Grok 及其他前沿技术
人工智能
ai产品老杨8 小时前
全流程数字化管理的智慧物流开源了。
前端·javascript·vue.js·人工智能·安全