聚类

聚类,就是根据数据的“相似性”将数据分为多类的过程。
评估两个样本之间的“相似性”,通常使用的方法就是计算两个样本之间的距离,使用不同的方法计算样本的距离会关系到聚类的好坏

欧式距离
聚类

曼哈顿距离

聚类马氏距离
聚类

夹角余弦
聚类
K-means聚类算法
K-means算法以K为参数,把n个对象分成 K个簇,使簇内具有较高的相似性,而簇间的相似度较低。
1. 随机选择K个点作为初始聚类的中心。
2. 对于剩下的点,根据与聚类中心的距离,将其归入最近的簇。
3. 对每个簇,计算所有点的均值作为新的聚类中心。
4. 重复 2 、3 步骤直到聚类中心不再改变。

DBSCAN密度聚类
DBSCAN算法将数据点分为三类:

  1. 核心点: 在半径Eps内含有MinPts数目的点。
  2. 边界点: 在半径Eps内点的数量小于MinPts,但是落在核心点的领域内。
  3. 噪音点:既不是核心点也不是边界点的点

算法流程:
1. 将所有点标记为核心点、边界点、或噪音点;
2. 删除噪音点;
3. 为距离在Eps之内的所有核心点之间赋予一条边;
4. 每组连通的核心点形成一个簇;
5. 将每个边界点指派到一个与之相关联的核心点的簇中

降维
降维就是在保证数据所具有的代表性特性或者分布的情况下,将高维数据转化为低维数据的过程。
sklearn库提供7中降维算法。
降维的过程也可以被理解为对数据集的组成成份进行分解的过程,因此sklearn为降维模块命名为decomposition,对降维算法调用需要使用sklearn.decomposition模块。
聚类

PCA主成成分分析

PCA能够将具有相关性高的高维变量合成为线性无关的低维变量,称为主成分,主成分能尽可能保留原始数据的信息。

聚类

聚类
聚类
原理:矩阵的主成分就是其协方差矩阵对应的特征向量,按照对应的特征值大小进行排序,最大的特征值就是第一主成分,其二是第二主成分,以此类推。

聚类

非负矩阵分解(NMF)
nmf是在矩阵中所有元素均为负数的约束条件下的矩阵分解方法。
基本思想:给定一个非负矩阵V,NMF能够找到一个非负矩阵W和一个非负矩阵H,使得矩阵相乘近似等于矩阵V中的值。