nmf算法 python_python机器学习二(无监督学习)

本文介绍了无监督学习中的聚类和降维,重点探讨了K-means和DBSCAN两种聚类算法,以及PCA和NMF两种降维方法。通过实例展示了K-means在消费水平聚类和图像分割中的应用,以及NMF的基本思想和在图像分割中的潜力。
摘要由CSDN通过智能技术生成

无监督学习

利用无标签的数据学习数据的分布或数据与数据之间的关系被称作无监督学习

有监督学习和无监督学习的最大区别在于数据是否有标签

无监督学习最常应用的场景是聚类(clustering)和降维(dimension reduction)

聚类

聚类,就是根据数据的“相似性”将数据分为多类的过程

评估俩个不同样本之间的‘相似性’,通常使用的方法就是计算俩个样本之间的“距离”。使用不同的方法计算样本间的距离会关系到聚类结果的好坏。

df18f3c4cbee?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

df18f3c4cbee?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

df18f3c4cbee?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

df18f3c4cbee?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

df18f3c4cbee?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

df18f3c4cbee?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

sklearn.cluster

sklearn.cluster模块提供的各聚类算法函数可以使用不同的数据形式最为输入:

标准数据输入格式:[样本个数,特征个数]定义的矩阵形式

相似性矩阵输入格式:既由[样本数目,样本数目]定义的矩阵形式,矩阵中的每一个元素为两个样本的相似度,如DBSCAN,AffinityPropagation(近邻传播算法)接受这种输入。如果以余弦相似度为例,则对角线元素全为1.矩阵中每个元素的取值范围[0,1]

df18f3c4cbee?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

df18f3c4cbee?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

聚类vs降维

聚类和降维都是无监督学习的典型任务,任务之间存在关联,比如某些高纬数据的聚类可以通过降维处理更好的获得,另外学界研究也表明代表性的聚类算法如k-means与降维算法如NMF之间存在等价性,在此我们就不展开讨论了,有兴趣的同学可以参考我们推荐的阅读内容。

sklearn vs 降维

降维是机器学习领域的一个重要研究内容,有很多被工业界和学术界接受的典型算法,截止到目前sklearn库提供7种降维算法。

降维过程也可以被理解为对数据集的组成成分进行分解(decomposition)的过程,因此sklearn为降维模块命名为decomposition,在对降维算法调用需要使用sklearn.decomposition模块

df18f3c4cbee?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

K-means聚类算法

K-means

算法以k为参数,把n个对象分成k个簇,使簇内具有较高的相似性度,而簇间的相似度较低。

其处理过程如下:

1.随机选择k个点作为初始的聚类中心;

2.对于剩下的点,根据其与聚类中心的距离,将其归入最近的簇

3.对每个簇,计算所有点的均值作为新的聚类中心

4.重复2、3直到聚类中心不再发生改变

df18f3c4cbee?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

k-means的应用

数据介绍:

现有1999年全国31个省份城镇居民家庭平均每人全年消费性支出的八个主要变量数据,这八个变量分别是:食品、衣着、家庭设备用品及服务、医疗保健、交通和通讯、娱乐教育文化服务、居住以及杂项商品和服务。利用已有数据,对31个省份进行聚类。

实验目的:

通过聚类,了解1999年各个省份的消费水平在国内的情况

技术路线:sklearn.cluster.Kmeans

df18f3c4cbee?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

实验过程:K-means聚类算法

实验过程:

1.建立工程&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值