数据发掘之聚类分析

[复制链接]
发表于 2025-12-10 16:43:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

聚类分析(Clustering Analysis) 是数据发掘中的一项紧张技能,旨在根据对象间的相似性或差异性,将对象分为多少组(簇)。同一簇内的对象相似性较高,而差异簇间的对象差异性较大。聚类分析广泛应用于图像处置处罚、市场细分、文天职析、基因分析等多个范畴。

1. 聚类分析的核心概念


  •         样本点和特性
            样本点通常是具有多维特性的数据实例,特性可以是数值型或种别型,形貌样本的属性。
  •         隔断或相似度
            聚类依靠于样本点之间的隔断或相似度来界说其关系:

    • 常用的隔断度量:欧氏隔断、曼哈顿隔断、余弦相似度等。
    • 对于种别型数据,也可使用汉明隔断或匹配系数等方法。

  •         聚类效果

    • 硬聚类:每个样本严酷属于某个簇(如 K-Means)。
    • 软聚类:每个样本属于多个簇的概率(如高斯混淆模子 GMM)。


2. 常用聚类算法

(1)基于分别的方法


  •         K-Means
            通过迭代优化簇内数据的平方偏差,将数据分别为 k个簇。
            长处:简单高效;实用于球状簇。
            缺点:须要提前指定 k,对初始值和噪声敏感。
  •         K-Medoids
            用簇内的实际样本点作为簇中央,比 K-Means 更鲁棒,但盘算复杂度较高。
(2)基于条理的方法


  • 条理聚类(Hierarchical Clustering)
            通过不停归并或拆分簇形成树状布局,分为:

    • 自底向上(凝聚条理聚类)。
    • 自顶向下(分裂条理聚类)。
                      长处:可视化聚类布局;无需提前指定簇数。
                      缺点:盘算复杂度高;对噪声和离群点敏感。

(3)基于密度的方法


  •         DBSCAN
            基于密度的空间聚类,可以或许辨认恣意外形的簇,同时检测噪声点。
            长处:无需指定簇数;鲁棒性强。
            缺点:对参数 εε 和最小点数 MinPtsMinPts 比力敏感。
  •         OPTICS
            是 DBSCAN 的改进,办理了差异密度分布数据的聚类题目。
(4)基于模子的方法


  • 高斯混淆模子(GMM)
            假设数据由多个高斯分布构成,使用盼望最大化(EM)算法优化。
            长处:实用于软聚类;可表明性强。
            缺点:轻易陷入局部最优;对初值敏感。
(5)基于网格的方法


  • CLIQUE
            将空间分别为等间距的网格并聚类,得当高维数据分析。
(6)基于图的方法


  • 谱聚类(Spectral Clustering)
            使用样本点的图布局,盘算拉普拉斯矩阵的特性向量举行聚类。
            长处:得当非球形簇;对维度扩展性好。
            缺点:盘算复杂度高。

3. 聚类分析的评价指标

聚类效果的评估分为两类:

  •         内部指标(无需真实标签):

    • 簇内隔断(越小越好)。
    • 簇间隔断(越大越好)。
    • 外貌系数(Silhouette Coefficient):联合簇内和簇间的隔断综合评估。

  •         外部指标(须要真实标签):

    • Rand Index:衡量推测簇与真实簇的同等性。
    • 归一化互信息(NMI):评估聚类效果与真实分布的相似程度。
    • Purity:聚类效果中最大种别样本所占的比例。


4. 聚类分析的应用


  •         市场细分
            根据客户特性分别群体,订定差异化营销计谋。
  •         图像处置处罚
            如图像分割、目标检测。
  •         文天职析

    • 文档主题聚类。
    • 消息分类。

  •         生物信息学
            基因表达数据分析,辨认基因功能模块。
  •         非常检测
            将离群点作为噪声举行辨认。

5. 聚类分析的寻衅


  • 高维数据处置处罚
            维度过高会导致“维度劫难”,需联合降维技能(如 PCA 或 t-SNE)。
  • 簇数简直定
            主动确定最佳簇数是一个开放性题目。
  • 数据分布复杂性
            数据大概存在非线性布局或差异密度。
  • 噪声和离群点
            对算法的稳固性提出更高要求。

6. 实践案例:Python 聚类分析

使用 K-Means 对二维数据聚类:
  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. from sklearn.cluster import KMeans
  4. # 生成样本数据
  5. from sklearn.datasets import make_blobs
  6. X, y = make_blobs(n_samples=300, centers=4, cluster_std=0.60, random_state=0)
  7. # K-Means 聚类
  8. kmeans = KMeans(n_clusters=4, random_state=0)
  9. y_kmeans = kmeans.fit_predict(X)
  10. # 绘制聚类结果
  11. plt.scatter(X[:, 0], X[:, 1], c=y_kmeans, s=50, cmap='viridis')
  12. centers = kmeans.cluster_centers_
  13. plt.scatter(centers[:, 0], centers[:, 1], c='red', s=200, alpha=0.75)
  14. plt.title("K-Means Clustering")
  15. plt.show()
复制代码

聚类分析是数据发掘中的紧张工具,通过把握差异算法的特点、实用场景及实践应用,可以资助办理各种实际题目。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表