⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

R聚类分析:K均值与层次聚类

从数据标准化到聚类可视化,学习K-means和层次聚类的完整流程。 · 难度:入门 · +15XP

聚类分析概述

聚类是一种无监督学习方法,将数据划分为若干组(簇),使得同组内样本相似度高,不同组之间差异大。R中常用kmeans()进行K均值聚类,hclust()进行层次聚类。

1. K均值聚类

需要预先指定簇数量k。使用kmeans()函数,通过手肘法(SSE)确定最佳k。

data(iris)
iris_scaled <- scale(iris[,1:4])
set.seed(123)
km <- kmeans(iris_scaled, centers = 3, nstart = 25)
km$cluster  # 查看聚类结果

2. 层次聚类

不需要预设k,通过树状图(dendrogram)决定分割点。

d <- dist(iris_scaled, method = 'euclidean')
hc <- hclust(d, method = 'ward.D2')
plot(hc, labels = iris$Species)
# 在高度3处切割
cutree(hc, h = 3)

3. 聚类评估

指标说明
轮廓系数 (silhouette)衡量簇内紧密度与簇间分离度
CH指数簇间方差与簇内方差之比

4. 练习提示

mtcars数据集(先标准化)进行K-means聚类,k=3,并绘制聚类后的散点图(使用前两个主成分作为坐标轴)。

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 71 篇
0 完成
🔥 0