栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【20210926】【机器/深度学习】基于 make

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【20210926】【机器/深度学习】基于 make

plt.show()

        参考 sklearn之聚类评估指标---轮廓系数  

        参考 聚类性能评估-轮廓系数

        参考 样本轮廓系数 原理、sklearn.metrics.silhouette_score、silhouette_samples参数介绍

3 其他方法

        另外还有 mclust包、Nbclust包、Calinsky criterion、Gap Statistic、PAM、Affinity propagation(AP) clustering、clustergram、层次聚类等方法。

        参考 【机器学习】确定最佳聚类数目的10种方法

3. 解决 k-means 算法性能受初始点选取影响较大 算法调优

        k-means 算法的初始簇中心是随机选取的 因此最终求得的簇的划分与随机选取的簇中心有关 这可能造成多种 k 个簇的划分情况 这是因为 k-means 算法收敛到了局部最小值 而非全局最小值。

1 二分 k-means 算法

        二分 k-means 算法解决 k-means 算法对初始簇心比较敏感的问题 是一种弱化初始质心的一种算法。

        从二分 k-means 算法原理出发 相较普通 k-means 二分 k-means 算法不需要一次性初始化所有的簇中心 而是首先初始化一个 经过多次迭代得到其他的簇中心。这样做的好处在于不会收敛到局部最小值。具体思路步骤如下

        第一步 将所有样本作为一个簇 放在一个队列中

        第二步 从队列中选择一个簇进行 k-means (k 2) 算法划分 划分为两个簇 并将划分生成的子簇放在队列中

        第三步 循环迭代第二步 直到达到循环结束条件 结束条件通常有 簇的个数、最小 SSE、迭代次数等

        循环结束之后 队列中的簇就是最终得分类簇集合。

        从队列中选择簇进行二分 一般有两种方式 选择 SSE 最大的簇、选择样本数量最多的簇。

        参考 05 聚类算法 - 二分K-Means、K-Means 、K-Means||、Canopy、Mini Batch K-Means算法

        参考 kmeans算法理解及代码实现

2 k-means 算法

        k-means 解决 k-means 算法对初始簇心比较敏感的问题 它和 k-means 算法的主要区别在于对初始 k 个簇心的选择方面 k-means 算法随即给定初始簇心 k-means 采用一些列步骤给定 k 个初始簇心

        第一步 从样本集中任选一个样本作为第一个聚类中心

        第二步 计算其余每个点 xi 到已有聚类中心点的距离和 D(xi) 并以一定概率选择新的聚类中心 这种方式使得离得越远的样本 越容易被选取为新的聚类中心 满足我们的需求

        第三步 重复第二步 知道找到 k 个聚类中心点

        第四步 使用找到的 k 个聚类中心点 进行 k-means 算法迭代。

        k-means 算法不可并行 第 k 个聚类中心的选择依赖前 k-1 个聚类中心。

        参考 05 聚类算法 - 二分K-Means、K-Means 、K-Means||、Canopy、Mini Batch K-Means算法  

        参考 【机器学习】K-means 非常详细

3 Mini-Batch k-means 算法

        Mini-Batch k-means 算法解决 k-means 算法收敛需要一定时间的问题 是 k-means 算法的一种优化方式 它采用小规模的数据子集 每次训练使用的数据集是随机抽取的数据子集 减少了计算时间 同时试图优化目标函数。

        Mini-Batch k-means 算法可以减少 k-means 算法的收敛时间 聚类效果略差于标准 k-means 算法。算法步骤如下

        第一步 首先选取部分数据集 使用 k-means 算法构建出 k 个聚簇点的模型

        第二步 继续抽取训练数据集中的部分数据集样本数据 并将其添加到模型中 分配给距离最近的簇中心点

        第三步 更新簇的质心

        循环第二步和第三步 直到达到循环结束条件。

        参考 05 聚类算法 - 二分K-Means、K-Means 、K-Means||、Canopy、Mini Batch K-Means算法  

三、K-Means 算法模型评估

        k-means 算法评估分为两种 外部评估和内部评估。外部评估用于真实的分群 label 已知的情况 内部评估用于真实的分群 label 未知的情况。

        外部评估有 Homogeneity completeness v-measure Fowlkes-Mallows scores 等

        内部评估有 轮廓系数、DBI 戴维森堡丁指数、Calinski Harabasz Index 等。

        参考 这是一份全面的聚类算法及其改进的算法总结                 

        参考 常用聚类(K-means,DBSCAN)以及聚类的度量指标

四、知识点 1. 使用轮廓系数评估 k-means 算法性能时 k 要从 2 开始选 选择 1 会报错 ValueError: Number of labels is 1. Valid values are 2 to n_samples - 1 (inclusive)

         参考 ValueError:标签数为1.使用silhouette_score时 有效值为2到n_samples-1(包括1)(ValueError: Number of labels is 1. Valid values are 2 to n_samples - 1 (inclusive) when using silhouette_score)

        参考 聚类学习-轮廓系数

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/267703.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号