九-1.聚类分析
作者:互联网
聚类通常作为其他数据挖掘或建模的前奏
一.特征认知
1.有监督无监督
分类: 有监督学习(有标签学习)
数据特征
聚类: 无监督学习(没有标签)
数据特征
2.聚类概念
- 聚类是把各不相同的个体分割为有更多相似性子集合的工作。
- 聚类生成的子集合称为簇
3.聚类要求
- 生成的簇内部的任意两个对象之间具有较高的相似度
- 属于不同簇的两个对象间具有较高的相异度
二.相似度衡量
度量关键: 距离
1.变量分类
- 1.定量变量:连续变量
- 2.定性变量: 性质上的差异:有序变量,名义变量
2.相似系数
简单匹配系数: SMC=匹配的属性个数/属性个数
Jaccard系数:
余弦相似系数: 文本度量
3.示例
x=(1,0,0,0,0,0,0,0,0,0)
y=(0,0,0,0,0,0,1,0,0,1)
f00 =7 (x取0并且y取0的属性个数)
f01 =2 (x取0并且y取1的属性个数)
f10 =1 (x取1并且y取0的属性个数)
f11 =0 (x取1并且y取1的属性个数)
简单匹配系数:SMC =(f11 +f00) / (f01 + f10 + f11 + f00)=(0+7)/(2+1+0+7)=0.7
Jaccard系数:J = (f11) / (f01 + f10 +f11) =0/2+1+0 =0
三.常用聚类算法
1.K-均值聚类
- 1.随机选取K个样本点作为类中心
- 2.计算各样本与各类中心的距离
- 3.将样本归于最近类中心
- 4.求各类中心的新类中心:所有样本的均值
- 5.判断类中心是否再更新,没有就结束
2.实例
2.K-中心点聚类
3.密度聚类
4.层次聚类
5.期望最大化聚类
四.性能衡量
1.参数认知
名称 | 定义 | 例子 | |||
---|---|---|---|---|---|
样本集: | D={x1,…xn} | 1 | 2 | 4 | 5 |
样本实际类比: | C={c1,…c*n} | 0 | 0 | 1 | 1 |
聚类结果: | C={c1,…cn} | 1 | 0 | 0 | 0 |
- SS: C中相同簇在C*中相同簇
- SD: C中相同簇在C*中不同簇
- DS: C中不同的簇在C*中相同簇
- DD: C中不同的簇在C*中不同簇
SS | SD | DS | DD |
{4,5} | {2,4}{2,5} | {1,2} | {1,4}{1,5} |
1 | 2 | 1 | 2 |
2.外部指标
聚类结果与实际结果进行比较
① jaccard系数
$$
jc=\frac{SS}{SS+SD+DS}
$$
j c = 1 1 + 2 + 1 jc=\frac{1}{1+2+1} jc=1+2+11 = 1 4 \frac{1}{4} 41
②Fm系数
$$
FM=\sqrt{\frac{SS}{SS+SD}*\frac{SS}{SS+DS}}
$$
F M = 1 1 + 2 ∗ 1 1 + 1 FM=\sqrt{\frac{1}{1+2}*\frac{1}{1+1}} FM=1+21∗1+11 = 1 3 \sqrt{\frac{1}{3}} 31
③Rand系数
$$
RD=\frac{2(SS+SD)}{m(m-1)}
$$
R D = 2 ( 1 + 2 ) 4 ( 4 − 1 ) RD=\frac{2(1+2)}{4(4-1)} RD=4(4−1)2(1+2) = 1 2 \frac{1}{2} 21
3.内部指标
不依赖标签
- 1紧密性
- 2间隔性
- 保留未学习
五.sklearn函数
from sklearn.cluster import KMeans
参数名 | 意义 | 接收 | 默认 |
---|---|---|---|
n_clusters | 簇数设定 | int | 8 |
init | 初始化方法 | ‘k-means++’:选取平均值为中心点 ‘random’:随机选取中心点 | ‘k-means++’ |
max_iter | 两次迭代之间的聚类中心的差异声明收敛 | int (!==0) | 300 |
precompute_distances | 预计算距离 | ‘auto’:如果n个样本n_samples * n_clusters > 1200万,不预先计算距离。这相当于使用双精度的每个作业大约100 MB的开销。 True :总是预先计算距离 False:永远不要预先计算距离。 | ’auto’ |
verbose | 详细模式 | int | 0 |
random_state | 确定用于质心初始化的随机数生成 | int | None |
copy_x | 是否复杂并修改使用该数据 | bool | True |
n_jobs | 用于计算的OpenMP线程数 | int | None |
algorithm | 表示K-means要使用的算法 | “elkan”变化更为有效。但是,由于分配了一个额外的形状数组(n_samples, n_clusters),所以内存更多。 “auto”(为向后兼容而保留)选择了“Elkan”,但它将来可能会改变,以获得更好的启发式。 | ”auto” |
六.评估指标
sklean.clusrer.
标签:系数,frac,SS,样本,聚类,f11,聚类分析 来源: https://blog.csdn.net/tyh751734196/article/details/116998808