机器学习进阶文档深度页
K-Means 与轮廓系数
交替把样本分给最近中心并更新均值,最小化簇内平方距离;轮廓系数辅助评价 K。
学习前需要掌握
欧氏距离内容待补充数值标准化(Z-score)
背景与问题
对尺度、初始化、异常值和非球形簇敏感;编号不带业务语义。
概念定义
K-Means 需要预先给 K,学习 K 个中心;轮廓系数比较本簇紧密度与最近其他簇距离。
直观理解
不断重复“按最近中心分组”和“把中心移到组均值”。
核心原理
使用多次初始化并标准化。K 增大会单调降低簇内误差,肘部和轮廓只是参考,还需稳定性与业务解释。
数学表达
核心表达
使用多次初始化并标准化。K 增大会单调降低簇内误差,肘部和轮廓只是参考,还需稳定性与业务解释。
变量含义
变量定义与本页概念定义一致,代码中的同名变量保持相同语义。
计算步骤
- 1标准化
- 2选择 K 和多次初始化
- 3分配最近中心
- 4更新中心
代码对应位置
示例 1K-Means 与轮廓系数 实现:对应文档中的训练与预测逻辑。
计算与实现步骤
- 1
标准化
- 2
选择 K 和多次初始化
- 3
分配最近中心
- 4
更新中心
- 5
收敛
- 6
比较轮廓和稳定性
代码实现
示例 1
K-Means 与轮廓系数 实现
K-Means 与轮廓系数 实现
scikit-learn
example_01.py用途:对应文档中的训练与预测逻辑。
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score
labels=KMeans(n_clusters=3,n_init=20,random_state=42).fit_predict(X_scaled)
print(silhouette_score(X_scaled,labels))代码解析
解析始终位于完整代码下方,并按实际代码段逐项对应。
输入数据与任务
对应文档中的训练与预测逻辑。
Step 1 · 1–4 行
导入当前步骤需要的数值计算、预处理、模型或评价工具。依赖集中写在代码开头,便于复现。
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score
labels=KMeans(n_clusters=3,n_init=20,random_state=42).fit_predict(X_scaled)
print(silhouette_score(X_scaled,labels))预期输出或运行结果
输出 -1 到 1 之间的轮廓系数。
常见错误 · 3 条
- 簇号当真实标签
- 只看肘部
- 未标准化
实际应用
- 用户分群
- 探索结构
常见错误
簇号当真实标签
只看肘部
未标准化
文档来源
06|无监督学习原始文档
学习资料/learning_tech/06_unsupervised_learning.md- §3 K-Means
- §4 如何选择 K
推荐学习资料
暂未收录相关资料
参考库不会生成虚假资源或无效外部链接。