用于聚类的算法

聚类算法大揭秘🔍✨

聚类算法是机器学习中常用的无监督学习方法,用于将相似的数据点分组。它广泛应用于客户细分、图像分割、异常检测等领域。下面介绍几种经典的聚类算法,并附上代码示例!

1.K-Means聚类🎯
K-Means是最常见的聚类算法,通过迭代将数据划分为K个簇。

```python
fromsklearn.clusterimportKMeans
importnumpyasnp

生成随机数据
X=np.random.rand(100,2)

训练K-Means模型
kmeans=KMeans(n_clusters=3)
kmeans.fit(X)

预测簇标签
labels=kmeans.predict(X)
print(labels)
```

2.层次聚类(HierarchicalClustering)🌳
层次聚类通过构建树状图(Dendrogram)来划分数据,适合小规模数据集。

```python
fromsklearn.clusterimportAgglomerativeClustering
importmatplotlib.pyplotasplt
fromscipy.cluster.hierarchyimportdendrogram,linkage

计算层次聚类
Z=linkage(X,method='ward')

绘制树状图
plt.figure(figsize=(10,5))
dendrogram(Z)
plt.show()
```

3.DBSCAN(基于密度的聚类)🌌
DBSCAN适用于发现任意形状的簇,并能识别噪声点。

```python
fromsklearn.clusterimportDBSCAN

训练DBSCAN模型
dbscan=DBSCAN(eps=0.3,min_samples=5)
clusters=dbscan.fit_predict(X)

print(clusters)-1表示噪声点
```

4.高斯混合模型(GMM)🎲
GMM假设数据由多个高斯分布混合而成,适用于概率聚类。

```python
fromsklearn.mixtureimportGaussianMixture

训练GMM模型
gmm=GaussianMixture(n_components=3)
gmm.fit(X)

预测簇概率
probs=gmm.predict_proba(X)
print(probs)
```

总结📌
-K-Means:简单高效,但需指定K值。
-层次聚类:适合小数据,可视化直观。
-DBSCAN:自动发现簇,抗噪声强。
-GMM:适用于概率分布数据。

选择合适的聚类算法,能让你的数据分析事半功倍!🚀💡

相关推荐
博客zhu虎康5 天前
我的创作纪念日——五载创作路,以技术赴热爱
前端·经验分享·csdn·技术分享·我的创作纪念日
csdn_aspnet6 天前
开发者在 CSDN 的“修行”过程
csdn·流量·粉丝
Java后端的Ai之路1 个月前
【CSDN创作者成长】-如何玩转 CSDN 投票功能?
csdn·投票·创作者
猫头虎1 个月前
OpenClaw开源汉化发行版:介绍、下载、安装、配置教程
运维·windows·开源·aigc·ai编程·agi·csdn
猿小羽2 个月前
OkHttp vs Retrofit 技术分析报告 - 1769404939594
http·okhttp·retrofit·csdn
gjxDaniel2 个月前
什么是CSDN?
csdn开发云·csdn
猫头虎2 个月前
2026年1月18日11时博客之星投票数据TOP100总排名预测:全网投票总数突破一万大关
程序人生·职场和发展·创业创新·业界资讯·程序员创富·csdn·博客之星
Love Song残响2 个月前
2026年科技趋势:AI与云原生引领未来
csdn
Evand J2 个月前
【MATLAB例程,附代码下载链接】基于累积概率的三维轨迹,概率计算与定位,由轨迹匹配和滤波带来高精度位置,带测试结果演示
开发语言·算法·matlab·csdn·轨迹匹配·候选轨迹·完整代码
橘色的喵3 个月前
VS Code 远程开发:免密登录与共享文件夹失效解决指南
csdn