聚类与分类有什么区别?
32 个回答
谢邀:首先你要明白一个概念,聚类和分类的最基本区别。
分类简单来说,就是根据文本的特征或属性,划分到已有的类别中。也就是说,这些类别是已知的,通过对已知分类的数据进行训练和学习,找到这些不同类的特征,再对未分类的数据进行分类。
而聚类的理解更简单,就是你压根不知道数据会分为几类,通过聚类分析将数据或者说用户聚合成几个群体,那就是聚类了。聚类不需要对数据进行训练和学习。
分类属于监督学习,聚类属于无监督学习。常见的分类比如决策树分类算法、贝叶斯分类算法等聚类的算法最基本的有系统聚类,K-means均值聚类,这些都很常见,网上资料一大推,不再赘述。
机器学习技术近来得到普遍关注,其中人们谈论最多的两类机器学习算法就是分类和聚类。简单说, 分类就是向事物分配标签,聚类就是将相似的事物放在一起 。不过这两个概念的含义和区别还是经常让不少人感到迷惑。
我们搞不清这两者的原因很大一部分是由于很多教程和文章对它们的解释都是一笔带过,重点讲解了一大堆公式。今天我们就借助一个传统工具——Excel表格,解释分类和聚类的含义,并对二者做个直观的比较。
分类是如何工作的
比方说你想预测哪些学生能够毕业,哪些学生可能退学。可能你想找出学生属于哪个类别,这样就可以向他们分配辅导老师,补习功课。因此你就有了两个标签:危险和低危险。要想用分类法实现这个目标,你需要已经毕业的学生的数据作为训练集。
现在我们不说算法,用下面这个Excel表:
这张表中的GPA、暂令停学、学生是否被开除等存在一些数据模式。通过观察这些模式,你心里也会发现一些数据关系,注意到一些异常情况。
所以,根据下面这些数据,你能确定哪些学生可能毕业吗?如果能,那恭喜,你现在就相当于一个分类算法!
分类举例所用数据下载地址:
https:// images.idgesg.net/asset s/2018/01/classification_example.xlsx
整体来看,分类具有以下特征:
- 利用分类器,即一个定义好的算法,能将信息映射为一个具体类别。
- 通过常见指标来评估分类分析的效果。
- 属于监督式学习,因为它是根据可比较的特性来分配已确定的标签。
聚类是如何工作的
现在我们看看聚类。现在下面这个数据集并没有标签,我们想让电脑能高效地找到哪些数据之间比较相似,然后将它们分组。
我们在数据中也能发现一些模式:有些数据在行中出现了111,然后是000,然后又是111。那么这时就可以把有这种特征的行进行分组,组成一个聚类。当然,还有些是000,111,000,那么就可以把这些行组成另一个聚类。
聚类举例所用数据下载地址:
https:// images.idgesg.net/asset s/2018/01/clustering_example.xlsx
整体来看,聚类具有以下特征:
- 没有确切的定义。这也是为何存在多种聚类算法和模型的原因。
- 效果较难评估。由于其内在的不确定性,导致常常很难确定和评估聚类分析的结果。
- 属于无监督学习。
比较分类和聚类
我们以一张表格将这两者做个清晰的比较:
以上就是分类和聚类的工作原理和区别。当然在机器学习中,我们有很多种算法可以计算这种问题,有些还能够处理不同形式的分类和聚类问题。下面列出一些常见的分类和聚类算法:
1. 分类算法:
- K近邻(KNN)
- 决策树
- 朴素贝叶斯
- 逻辑回归
- 支持向量机
- 随机森林
2. 聚类算法
- K均值(K-means)
- DBSCAN
- DPEAK
- Mediods
- Canopy
参考资料:
http://www. differencebetween.net/t echnology/difference-between-clustering-and-classification/
可能你还感兴趣:
https:// zhuanlan.zhihu.com/p/38 383952
https://www. zhihu.com/question/2109 4489/answer/392090279