集体智慧编程-03-发现群组
C、发现群组
Q1、什么叫做数据聚类
- 简单来说
聚类(Clustering)
是按照某个特定标准(如距离)把一个数据集分割成不同的类或簇,使得同一个簇内的数据对象的相似性尽可能大,同时不在同一个簇中的数据对象的差异性也尽可能地大。也即聚类后同一类的数据尽可能聚集到一起,不同类数据尽量分离。 - 想要了解后续章节内容需要先了解B-Q4的前置概念,计算数据之间的距离。
- 数据聚类最常用的一个场景 其实就是数据分类。举个简单的例子,现在你有一个app,但是你流失了很多的用户,你现在需要想办法召回这批人,最简单的做法是你给所有人都发一封邮件或者短信,做到信息的触达,但是这样做不是很好,所以你可以想办法选择针对不同的人群发送不同的内容,比如对于学生发校招信息,对于工作的人发社招信息,那么带来的召回效果可能就有一个比较好的提升
Q2、聚类是不是就是分类
- 并不是,聚类是无监督,而分类是有监督的
聚类(Clustering)
:是指把相似的数据划分到一起,具体划分的时候并不关心这一类的标签,目标就是把相似的数据聚合到一起,聚类是一种无监督学习(Unsupervised Learning)
方法。分类(Classification)
:是把不同的数据划分开,其过程是通过训练数据集获得一个分类器,再通过分类器去预测未知数据,分类是一种监督学习(Supervised Learning)
方法。
Q3、聚类的一般过程
- 数据准备:特征标准化和降维
- 特征选择:从最初的特征中选择最有效的特征,并将其存储在向量中
- 特征提取:通过对选择的特征进行转换形成新的突出特征
- 聚类:基于某种距离函数进行相似度度量,获取簇
- 聚类结果评估:分析聚类结果,如
距离误差和(SSE)
等
Q4、常见的聚类算法有哪些
- 分级聚类(书中提到的,但实际上工程中用到的似乎不是很多,知道我没怎么遇到)
- K-均值聚类
- 基于高斯混合模型(GMM)的期望最大化(EM)聚类
———————–施工分界线
Q5、K-means 聚类算法的流程和实现 以及优化
Q6、GMMS 聚类算法的流程和实现
参考资料
集体智慧编程-03-发现群组
http://orikey0.github.io/2024/03/04/集体智慧编程-03-发现群组/