机器学习之无监督学习(K-means)
2019-07-21 23:20
309 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44953902/article/details/96755159
什么是无监督学习
- 一家广告平台需要根据相似的人口学特征和购买习惯将美国人口扽成不同的小组,以便广告客户可以通过有关联的广告接触到它们的目标客户。
- Airbnb需要将自己的方误清单分组成不同的社区,以便用户能更轻松地查询这些问题清单。
- 一个数据科团队需要降低一个大型数据集的维度和数量,以便简化建模和降低文件大小。
如何最有用的对其进行归纳和分组?以一种怎样的压缩格式有效地表示数据?这都是无监督学习的目标,之所以称为无监督,是因为这是从无标签的数据集开始学习的。
无监督学习所包含的算法
- 聚类
K-means(K均值聚类) - 降维
PCA
K-means原理
K-means聚类步骤:
- 1.随机设置K个特征空间内的点作为初始的聚类中心
- 2.对于其他每个点计算到K个中心的距离,未知的点选择最近的一个聚类中心点作为标记类别
- 3.接着对着标记的聚类中心之后,重新计算出每个聚类的新中心点(平均值)
- 4.如果计算得出的新中心点与原中心点一样,那么结束,否则重新进行第二步过程。
sklearn.cluster KMeans(n_cluters=8,init='k-means++')
- k-means聚类
- n_cluters:开始的聚类中心数量
- init:初始化方法,默认为‘k-means++’
- labels_:默认标记的类型,可以和真实值比较(不是值比较)
- 分析:
(1)降维之后的数据
(2)k-means聚类
(3)聚类结果显示
第一步的降维过程在这里:https://blog.csdn.net/weixin_44953902/article/details/96302671
#聚类分析 from sklearn.cluster import KMeans estimator = KMeans(n_clusters = 3) estimator.fit(data) y_predict = estimator.predict(data) y_predict
结果:
K-means性能评估指标(高内聚,低耦合)
- 轮廓系数
注:对于每个点i为已聚类数据中的样本,b_i为i到其他簇群的所有样本的距离最小值,a_i为i到本身簇的距离平均值。最终计算出所有样本点的轮廓系数平均值。
- 轮廓系数值分析
分析过程(以蓝点为例):
(1)计算蓝点离本身簇所有点的距离的平均值a_i
(2)蓝点到其他两个簇的样本距离的最小值为b_i
根据公式:极端值:如果b_i>>a_i;趋近于1;如果b_i<<a_i;趋近于-1 - 结论
如果b_i>>a_i,结果趋近于1,效果越好,b_i<<a_i,趋近于-1,效果越不好。轮廓系数的值是介于[-1,1],越趋近于1代表内聚度和分离度都相对较优。 - 轮廓系数API
sklearn.metrics silhouette_score(X,labels)
计算所有样本的平均轮廓系数
X:特征值
labels:被聚类标记的目标值 - 用户聚类结果评估----和上面的案例使用的同一个数据
#模型评估-轮廓系数 from sklearn.metrics import silhouette_score silhouette_score(data,y_predict)
结果:
K-means总结
- 特点分析:采用迭代式算法,只管易懂并且非常实用
- 缺点:容易收敛到局部最优解(多次聚类)
- 应用场景:没有目标值,有目标之后就可以直接用聚类的结果再分类(聚类一般做在分类之前)
相关文章推荐
- 机器学习--无监督学习之K-means聚类方法
- 斯坦福大学公开课 :机器学习课程(Andrew Ng)——9、无监督学习:K-means Clustering Algorithm
- 机器学习中的有监督学习,无监督学习,半监督学习
- 机器学习中的有监督学习,无监督学习,半监督学习的区别
- 斯坦福大学公开课机器学习课程(Andrew Ng)二监督学习应用 梯度下降
- 2019-07-28【机器学习】无监督学习之聚类 DBSCAN方法及其应用 (在线大学生上网时间分析)...
- 机器学习中有监督学习——回归
- Hulu机器学习问题与解答系列 | 第七弹:非监督学习算法与评估
- 机器学习与深度学习系列连载: 第一部分 机器学习(三)监督学习:分类和逻辑回归(Classification and logistic regression)
- 机器学习-->无监督学习-->EM算法
- 斯坦福 机器学习-第一章监督学习
- 机器学习一:监督学习笔记
- python机器学习---监督学习---神经网络(用于分类和回归)
- 机器学习笔记之监督学习
- 无监督学习k-means简单实现
- 机器学习两种方法——监督学习和无监督学习(通俗理解)
- 机器学习非监督学习- kmeans算法
- 机器学习入门--监督学习(一)线性回归
- 斯坦福大学公开课 :机器学习课程(Andrew Ng)——8、监督学习:Learning Theory
- 【机器学习-斯坦福】学习笔记2 - 监督学习应用与梯度下降