Scikit-Learn K均值聚类
- 1、K均值聚类
- 1.1、K均值聚类及原理
- 1.2、K均值聚类的优缺点
- 1.3、聚类与分类的区别
- 2、Scikit-Learn K均值聚类
- 2.1、Scikit-Learn K均值聚类API
- 2.2、K均值聚类初体验
- 2.3、K均值聚类案例
1、K均值聚类
K-均值(K-Means)是一种聚类算法,属于无监督学习。K-Means在机器学习知识结构中的位置如下:
1.1、K均值聚类及原理
聚类(Clustering)是指将一个数据对象集合划分成簇(子集),使得簇内对象彼此相似,簇间对象不相似。通俗来说,就是将数据划分到不同组中
根据算法原理,常用的聚类算法可分为:基于划分的聚类算法K-Means、基于层次的聚类算法HC、基于密度的聚类算法。本文主要介绍K-Means聚类
K-Means算法起源于1967年,由James MacQueen和J.B.Hartigan提出。K-Means中的K指的是类的数量,Means指均值
K-Means算法的基本原理是:根据样本特征的相似度或距离远近,将样本(N个点)划分成若干个类(K个集群),使得每个点都属于离其最近的中心点(均值)对应的类(集群)
其中,相似度通常使用欧几里得距离来度量,用于计算数据点与质心之间的距离(使用平方):
d ( X i , C j ) = ∣ ∣ X i − C j ∣ ∣ 2 d(X_i,C_j)=||X_i-C_j||^2 d(Xi,Cj)=∣∣Xi−Cj∣∣2
其中, X i X_i Xi是数据点, C j C_j Cj