• 机器学习之聚类学习


    聚类算法

    • 概念

      • 根据样本之间相似性,将样本划分到不同类别种,不同相似度计算方法,会得到不同聚类结果,常用相似度计算方法为:欧氏距离

      • 目的是在没有先验知识情况下,自动发现数据集种内在结构和模式

      • 无监督学习算法

    • API

      sklearn.cluster.KMeans(n_clusters=8)

      • 参数:n_clusters:开始聚类中序数量

        • 整型状,缺省值=8,生成聚类数,即产生质心(centroids)数

      • 方法

        • estimator.fit(x)

        • estimator.predict(x)

        • estimator.fit_predict(x)

          计算聚类中心并预测每个样本属于哪个类别,相当于先调用fit(x,在调用predict(x)

    • KMeans算法实现流程

      • 先确定一个常数k,该常数意味最终聚类类别数

      • 随机选择k个样本作为初始聚类中心

      • 计算每个样本到k个中心聚类,选择最近聚类中心作为标记类别

      • 根据每个类别样本点,重新计算出新聚类中心点(平均值),若计算出的新中心与原中心点重叠,则停止聚类,否重新进行第2步过程,直到聚类中心不再变化

    • 评估指标

      • SSE(误差平方和)

        SSE越小,表示数据点越接近它们中心,聚类效果越好

        • "肘"方法(Elbow method) - k值确定

          "肘" 方法通过SSE确定n_clusters值

        • 对于n个数据集,迭代计算k from i to n,每次聚类完成后计算SSE

        • SSE是会逐渐变小,因为每个点都是它所在的簇中心本身

        • SSE变化过程中出现一个拐点,下降率突然变缓时即人为是最佳n_clusters值

        • 在决定什么时候停止训练时,肘形判断同样有效,数据通常有更多噪音,在增加分类无法带来更多汇报时,即停止增加类别

        • SC (轮廓系数法)

          轮廓系数法考虑簇内的内聚程度(Cohesion),簇外的分离程度(Separation)

          • 计算过程

            • 对计算每一个样本i到同簇内其他样本平均距离ai,该值越小,说明簇内相似程度越大

            • 计算每一个样本i最近簇j内所有样本平均距离bij,该值越大,说明该样本越不属于其他簇j

            • 根据下方公式计算该样本轮廓系数

            • 计算所有样本平均轮廓系数

            • 轮廓系数范围:[-1,1],SC值越大聚类效果越好

        • CH (聚类效果评估-CH轮廓系数法)

          CH系数考虑簇内的内聚程度、簇外的离散程度、质心的个数

          • 类别內部数据距离平方和越小越好,类别之间距离平方和越大越好。聚类种类数越少越好

      • 简写:

        • 误差平方和SSE

          • 误差平方和值越小越好

          • 主要考量:簇内聚程度

        • 肘部法

          • 下降率突然变缓时即认为是最佳的k值

        • SC系数

          • 取值为[-1,1],其值越大越好

          • 主要考量:簇内聚程度、簇间分离程度

        • CH系数

          • 分数s高则聚类效果越好

          • CH达到的目的:用尽量少类别聚类尽量多的样本,同时获得较好的聚类效果

          • 主要考量:簇内聚程度、簇间分离程度、质心个数

  • 相关阅读:
    婚纱行业怎么做好有效的营销方案来打动客户?
    当我们写下一个 int a 后计算机发生了什么?
    高并发系统架构设计之实战派篇:计数系统之未读数系统
    docker部署SpringBoot项目
    ClickHouse(14)ClickHouse合并树MergeTree家族表引擎之VersionedCollapsingMergeTree详细解析
    NestJS代码片段解读(1)
    看小说?笔趣阁?你是怎么爬取的?
    Unity--Configurable Joint——简单教程,带你入门可配置关节
    汇编语言(Assemble Language)学习笔记(更新中)
    医院管理系统详细设计说明书
  • 原文地址:https://blog.csdn.net/Green_horn_new/article/details/139013018