机器学习算法---Kmeans算法

KNN了解啦,Kmeans能缺席吗?


kmeans算法:无监督学习算法中存在一种算法为聚类算法,聚类算法中最经典的是kmeans

聚类算法目的:同一类内相似性高;不同类之间相似性低(相异度高)

所谓聚类问题,就是给定一个元素集合D,其中每个元素具有n个可观察属性,使用某种算法将D划分成k个子集,要求每个子集内部的元素之间相似度尽可能的高,而不同子集的元素相似度尽可能低。其中每个子集叫做一个簇

k-means介绍

k均值算法,k需要提前指定,决定了数据集被分为多少个子集

K-means的原理

1、随机初始化聚类中心

2、计算所有样本到各个聚类中心的距离,并归属到和其最近(最相似)的聚类中心

3、重新确定聚类中心

重复2 和3,直到达到停止条件

K-means特点

一、需要制定k值--预先指定的参数,称为超参数

二、受初始值(初始聚类中心)的影响,达到局部最优效果

三、受离群点的影响大。通常处理方式,剔除异常值

四、距离表证相似度,特征量级不同,需要进行数据标准化

五、K-means算法之前还需要进行数据预处理:数据异常值剔除、数据标准化

k-means的API

API


k-means算法评估

用轮廓系数进行评估聚类的效果

轮廓系数

对于每个点 i 为已聚类数据中的样本 , i b_ 为 i 到其它族群的所有样本的距离平均值,

i a_ 为 i 到本身簇的距离平均值。最终计算出所有的样本点的轮廓系数平均值。

聚类评估理解图

结论:如果i b_>>i a_:趋近于 1 效果越好,i b_<

代码实现轮廓系数

轮廓系数

你可能感兴趣的:(机器学习算法---Kmeans算法)