scikit-learn K-means聚类分析算法

本文介绍了K-means聚类算法,作为无监督学习的一种,其利用梯度下降原理,通过迭代寻找最优聚类中心。文章通过sklearn库生成数据并演示了K-means的使用,强调了k值选择的重要性及其对分类结果的影响。
摘要由CSDN通过智能技术生成

聚类算法,不同于分类,分类属于有监督学习,聚类属于无监督学习,聚类的作用就是将有共同属性的数据会会汇聚到一起,成为一类,我们要做的是对这一类的数据进行分析。这就好像自编码过程把图像特征压缩到几个维度的向量是一样的道理,目的是通过做以区分的特性。
k-means应用神经算法中的梯度下降,先确定k个类,确定k个中心点,计算数据到每一个中心点距离,被分到距离最近的中心点的类,对于每个类再重新计算到每个点距离均值算出新的中心点,如此往复直到均方误差不再变化(变化微小)。
k-means优点是简洁快速(颇有遗传算法的逻辑),但是缺点是k需要自己设置,k值设定的权衡比较麻烦。

数据生成

今天我们用sklearn的make_blobs生成数据:

from sklearn.datasets import make_blobs

使用方法,直接官网截图了:

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值