3.sklearn—聚类分析详解(聚类分析的分类;常用算法;各种距离:欧氏距离、马氏距离、闵式距离、曼哈顿距离、卡方距离、二值变量距离、余弦相似度、皮尔森相关系数、最远(近)距离、重心距离)

这一章总结的很痛苦,打公式费时费力。

1.聚类分析

1.1聚类方法

类别 包括的主要算法
划分(分裂)方法 K-Means算法(均值)、K-medoids算法(中心点)、K-modes算法(众数)、k-prototypes算法、CLARANS(基于选择)
层次分析 BIRCH算法(平衡迭代规约)、CURE算法(点聚类)、CHAMELEON(动态模型)
基于密度 DBSCAN(基于高密度连接区域)、DENCLUE(密度分布函数)、OPTICS(对象排序识别)
基于网格 STING(统计信息网络)、CLIOUE(聚类高维空间)、WAVE-CLUSTER(小波变换)
基于模型 统计学方法、神经网络

此外还有,最优分割法(有序样本聚类)、模糊聚类法(应用模糊集理论)、图论聚类…
这个水太深了,看了半天是不是发现自己就只会k均值和birch系统聚类啊…真真真的学无止境

1.2 常见聚类算法:

算法名称 描述
K-Means K均值算法是一种快速聚类算法,在最小化误差函数的基础上将数据划分为预定的K簇。数据量大的时候也会比较方便和快速。
K-中心点 K均值对孤立点比较敏感,因此这算一个改进算法,不是选择簇中对象的平均值作为簇中心,而是选择簇中离平均值最近的对象作为簇中心。计算量原大于K均值,因此适合小样本数据。
K-众数 顾名思义,不是采用均值作为中心,而是众数。用来处理分类型数据,统计频率即可,弥补K均值只能做数值计算的不足。也是最K均值的改进算法之一。
K-Protype K均值和K众数的结合,分别用于数值型数据和分类型数据。也是最K均值的改进算法之一。
CLARA clustering large application,大型应用聚类,基于抽样的方法,采用数据集的多个随机样本,然后使用PAM方法计算各个样本中的最佳中心点。也是最K均值的改进算法之一。
CLARANS clustering large application basedupon randomized search,基于随机搜索的聚类大型应用。在数据中随机选取K个对象当中心,随机选择一个当前中心点和一个不是当前中心点进行替换,看是否能改善绝对误差,随机搜索L次,组成局部最优解集合。然后重复该过程M次,返回最佳局部最优解。也是最K均值的改进算法之一。
系统聚类 常用的就是那个birch。由高到低成树形结构。适用于小样本数据。

参考博客https://blog.csdn.net/wojiaosusu/article/details/56960103

1.3 cluster提供的聚类算法及其使用范围

函数名称 参数 范围 距离度量
K-means 簇数 大样本、聚类数目中等 点之间的距离公式
spectral clastering 簇数 样本数中等、聚类数目小 图距离
ward hierarchical clustering 簇数 大样本、聚类数目大 点之间的距离
agglomerative clustering 簇数、链接类型、距离 大样本、聚类数目大 任意成对点线图之间的距离
DBSCAN 半径大小、最低成员数 样本数中等、聚类数目中等 最近点之间的距离
birch 分支因子、阈值、可选全局集群 大样本、聚类数目大 点之间的欧式距离

2. 各种距离

参考书目:王宏志,大数据分析原理与实践[M],北京:机器工业出版社,2017.

2.1 连续性变量的距离

2.1.1 欧氏距离

两个n维向量 : a ⃗   ( x 11 ,   x 12 , ⋅ ⋅ ⋅ ,   x 1 n ) \vec{a}\ (x_{11}, \ x_{12}, ···,\ x_{1n}) a  (x11, x12,, x1n) b ⃗   ( x 11 ,   x 12 ,   ⋅ ⋅ ⋅ ,   x 1 n ) \vec{b}\ (x_{11},\ x_{12},\ ···,\ x_{1n}) b  (x11, x12, , x1n) 之间的欧式距离为:
d 12 = ∑ k = 1 n ( x 1 k − x 2 k ) 2 d_{12}=\sqrt{\sum_{k=1}^n{(x_{1k}-x_{2k})^2}} d12=k=1n(x1kx2k)2
缺点是不考虑分量之间的相关性。

2.1.2 曼哈顿距离

两个n维向量 a ⃗   ( x 11 ,   x 12 ,   ⋅ ⋅ ⋅ ,   x 1 n ) \vec{a}\ (x_{11},\ x_{12},\ ···,\ x_{1n}) a  (x11, x12, , x1n) b ⃗   ( x 11 ,   x 12 ,   ⋅ ⋅ ⋅ ,   x 1 n ) \vec{b}\ (x_{11},\ x_{12},\ ···,\ x_{1n}) b  (x11, x12, , x1n) 之间的曼哈顿距离为:
d 12 = ∑ k = 1 n ∣ x 1 k − x 2 k ∣ d_{12}=\sum_{k=1}^n{|x_{1k}-x_{2k}|} d12=k=1nx1kx2k

2.1.3 切比雪夫距离

两个n维向量 a ⃗   ( x 11 ,   x 12 ,   ⋅ ⋅ ⋅ ,   x 1 n ) \vec{a}\ (x_{11},\ x_{12},\ ···,\ x_{1n}) a  (x11, x12, , x1n) b ⃗   ( x 11 ,   x 12 ,   ⋅ ⋅ ⋅ ,   x 1 n ) \vec{b}\ (x_{11},\ x_{12},\ ···,\ x_{1n})

  • 16
    点赞
  • 134
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值