用途
聚类分析用于在无预定义标签的情况下,将数据划分为由相似观测组成的组,从而发现数据中的自然模式与结构。它适用于以下场景:
- 根据购买行为或人口统计特征对客户进行细分
- 在事先不了解类别的情况下发现数据中的自然分组
- 识别市场细分以支持定向营销活动
- 将大型数据集组织为有意义的类别,以便进一步分析
- 在基因表达数据或医学影像中寻找模式
- 按相似性对文档、产品或用户进行分组,用于推荐系统
主要能力
该技能涵盖多种聚类算法:
- K-Means:将数据划分为 k 个簇
- 层次聚类(Hierarchical):通过树状图展示嵌套簇
- DBSCAN:基于密度发现任意形状的簇
- 高斯混合模型(Gaussian Mixture):概率聚类
- 凝聚聚类(Agglomerative):自底向上的层次方法
同时涉及以下关键概念:
- 聚类验证:评估聚类质量的指标
- 最优簇数:确定最佳 k 值的方法
- 惯性(Inertia):簇内平方和
- 轮廓系数(Silhouette Score):衡量簇分离程度
- 树状图(Dendrogram):层次聚类的可视化
使用方式
该技能提供基于 Python 的实现示例,使用 pandas、numpy、matplotlib、scikit-learn、scipy 和 seaborn 等库。示例流程包括:
- 生成或加载数据,并进行标准化处理
- 使用肘部法则和轮廓系数分析确定最优簇数
- 应用 K-Means、层次聚类、DBSCAN 和高斯混合模型进行聚类
- 可视化聚类结果、轮廓图和树状图
- 计算聚类验证指标(轮廓系数、Davies-Bouldin 指数、Calinski-Harabasz 指数)
- 分析簇大小和簇特征
示例代码中包含完整的导入语句、数据生成、模型训练、可视化及指标计算步骤。
适用场景
- 客户细分与市场细分
- 无监督模式发现
- 文档、产品或用户分组
- 推荐系统
- 基因表达或医学影像分析
限制
- K-Means 需要预先指定簇数 k,且假设簇为球形
- DBSCAN 对参数 eps 和 min_samples 敏感,可能产生噪声点
- 层次聚类计算复杂度较高,不适合超大规模数据集
- 高斯混合模型假设数据由高斯分布混合生成
- 聚类结果的质量依赖于特征选择和标准化处理
- 该技能为提示词/代码示例集合,具体效果取决于数据和应用场景
交付物
- 最优簇数分析
- 聚类可视化
- 验证指标比较
- 簇特征总结
- 轮廓图
- 层次聚类树状图
- 成员分配结果