【scikit-learn基础】--『监督学习』之 均值聚类
聚类算法属于无监督学习,其中最常见的是均值聚类,scikit-learn
中,有两种常用的均值聚类算法:
一种是有名的K-means
(也就是K-均值)聚类算法,这个算法几乎是学习聚类必会提到的算法;
另一个是均值偏移聚类,它与K-means
各有千秋,只是针对的应用场景不太一样,但是知名度远不如K-Means
。
本篇介绍如何在scikit-learn
中使用这两种算法。
1. 算法概述
1.1. K-Means
K-means
算法起源于1967年,由James MacQueen和J. B. Hartigan提出。
它的基本原理是是将n个点划分为K个集群,使得每个点都属于离其最近的均值(中心点)对应的集群。
K-Means算法主要包含2个部分:
- 距离公式:通常采用欧几里得距离来计算数据点与质心之间的距离
d(Xi,Cj)=||Xi−Cj||2d(Xi,Cj)=||Xi−Cj||2 其中,XiXi是数据点,CjCj是质心。
- 目标函数:目标是最小化所有数据点与所属簇的质心之间的距离平方和
J=∑kj=1∑Nji=1||Xi−Cj||2J=∑j