机器学习 - 聚类算法
俗话说的:“物以类聚,人以群分”。聚类是一个把数据对象划分成子集的过程,每个子集是一个簇(cluster),使得簇中的对象彼此相似,但与其他簇中的对象不相似。聚类成为自动分类,聚类可以自动的发现这些分组,这是突出的优点。
聚类无需样本标注,无监督聚类,主要用来研究数据自身的特点。
经典聚类主要包括
Kmeans 聚类
混合高斯模型
DBSCAN 密度聚类算法
为了说明算法,采用著名的 iris 数据集合为实验数据。
1.Kmeans 聚类
Kmeans 算法,属于基于划分的聚类算法。每个聚簇都有一个质心,通过聚簇的均值来迭代质心,使得所有聚簇下所有数据到质心的距离最短
关键参数:
聚类个数 K
random_state 随机数种子: 初始聚类中心随机种子
随机数 K 根据业务确认,或者经过多次尝试,使得质心离数据距离最小
2.混合高斯模型
数据可以看作是从数个 Gaussian Distribution(正态分布)中生成出来的,数据可看成是多个高斯模型线性组合,利用 EM 算法估计高斯模型的密度参数 ## 就可获得混合高斯模型的密度参数,进而获得某个数据点归属某个高斯模型的概率。
关键参数:n_components 模型个数
3.DBSCAN 密度聚类算法
基于密度的聚类算法。通过连接半径(eps)内样本的个数(min_samples)确定是否密度连接。密度连接在一起的样本集合为一个簇。
DBSCAN 可以适应不同形状的簇,如环形。 还可以用来识别异常点(离群点)
关键参数:这两个参数为确定是否是密度相联
eps : 连接半径
min_samples: 连接半径内的样本个数
版权声明: 本文为 InfoQ 作者【AIWeker-人工智能微客】的原创文章。
原文链接:【http://xie.infoq.cn/article/75da99bba01b96d3578960ffd】。文章转载请联系作者。
评论