Scikit-Learn K均值聚类

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均值聚类初体验(寻找最佳K)
      • 2.3、K均值聚类案例



1、K均值聚类


K-均值(K-Means)是一种聚类算法,属于无监督学习。K-Means在机器学习知识结构中的位置如下:

Scikit-Learn K均值聚类_第1张图片

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)=∣∣XiCj2

其中, X i X_i Xi是数据点, C j C_j Cj是质心

K-Means假设一个样本属于一个类,K-Means的类别是样本的中心(均值);K-Means的损失函数是样本与其所属类的中心之间的距离平方和(SSE):
J = ∑ j = 1 K ∑ i = 1 N j ∣ ∣ X i − C j ∣ ∣ 2 J=\sum_{j=1}^{K}\sum_{i=1}^{N_j}||X_i-C_j||^2 J=j=1K

你可能感兴趣的:(#,Python,#,人工智能与机器学习,scikit-learn,聚类,机器学习)