机器学习技术近来得到普遍关注,其中人们谈论最多的两类机器学习算法就是分类和聚类。简单说,分类就是向事物分配标签,聚类就是将相似的事物放在一起。不过这两个概念的含义和区别还是经常让不少人感到迷惑。

我们搞不清这两者的原因很大一部分是由于很多教程和文章对它们的解释都是一笔带过,重点讲解了一大堆公式。今天我们就借助一个传统工具——Excel表格,解释分类和聚类的含义,并对二者做个直观的比较。

分类是如何工作的

比方说你想预测哪些学生能够毕业,哪些学生可能退学。可能你想找出学生属于哪个类别,这样就可以向他们分配辅导老师,补习功课。因此你就有了两个标签:危险和低危险。要想用分类法实现这个目标,你需要已经毕业的学生的数据作为训练集。

现在我们不说算法,用下面这个Excel表:

这张表中的GPA、暂令停学、学生是否被开除等存在一些数据模式。通过观察这些模式,你心里也会发现一些数据关系,注意到一些异常情况。

所以,根据下面这些数据,你能确定哪些学生可能毕业吗?如果能,那恭喜,你现在就相当于一个分类算法!

分类举例所用数据下载地址:

整体来看,分类具有以下特征:利用分类器,即一个定义好的算法,能将信息映射为一个具体类别。

通过常见指标来评估分类分析的效果。

属于监督式学习,因为它是根据可比较的特性来分配已确定的标签。

聚类是如何工作的

现在我们看看聚类。现在下面这个数据集并没有标签,我们想让电脑能高效地找到哪些数据之间比较相似,然后将它们分组。

我们在数据中也能发现一些模式:有些数据在行中出现了111,然后是000,然后又是111。那么这时就可以把有这种特征的行进行分组,组成一个聚类。当然,还有些是000,111,000,那么就可以把这些行组成另一个聚类。

聚类举例所用数据下载地址:

整体来看,聚类具有以下特征:没有确切的定义。这也是为何存在多种聚类算法和模型的原因。

效果较难评估。由于其内在的不确定性,导致常常很难确定和评估聚类分析的结果。

属于无监督学习。

比较分类和聚类

我们以一张表格将这两者做个清晰的比较:

以上就是分类和聚类的工作原理和区别。当然在机器学习中,我们有很多种算法可以计算这种问题,有些还能够处理不同形式的分类和聚类问题。下面列出一些常见的分类和聚类算法:

1. 分类算法:K近邻(KNN)

决策树

朴素贝叶斯

逻辑回归

支持向量机

随机森林

2. 聚类算法K均值(K-means)

DBSCAN

DPEAK

Mediods

Canopy

参考资料:

可能你还感兴趣:

python中聚类和分类的区别_聚类与分类有什么区别?相关推荐

  1. 创建二维数组 以及 python中[0 ]* n与[0 for _ in range(n)]的区别与联系

    一.浅拷贝于深拷贝 关于浅拷贝于深拷贝:Python 的深拷贝和浅拷贝 直接赋值:其实就是对象的引用(别名). 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象. 深拷贝(deepcopy) ...

  2. python中的数据分析库有哪些_全网最全数据分析师干货-python篇

    作者:胖熊酱 著作权归作者所有.AI开发者获得授权转载,禁止二次转载 https://zhuanlan.zhihu.com/p/79873148 注:封面图片来自网络 最近正在准备面试,故整理了很多面 ...

  3. 在python中定义类时、运算符重载_自定义 Python 类中的运算符和函数重载(上)...

    如果你对 Python 中的str对象使用过 + 或 * 运算符,你一定注意到了它的操作与 int 或 float 类型的区别: 你可能想知道同一内置运算符或函数如何对不同类对象进行不同操作的.这分别 ...

  4. python中最常用的映射类型_什么是python中唯一的映射类型

    字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可 ...

  5. python中哪个函数能生成集合_神奇的python系列11:函数之生成器,列表推导式

    1.生成器 生成器的本质是迭代器. 在python中有三种方式来获取生成器 1.通过生成器函数 2.通过各种推到式来实现生成器 3.通过数据的转换也可以获取生成器 #函数 deffunc():prin ...

  6. python中的wheel有什么用_什么是Python Wheels?为什么要学Python Wheels

    前言 Python .whl文件(或wheels)是Python中很少讨论的一部分,但是它们对Python包的安装过程非常重要.如果您已经使用pip安装了Python包,那么很有可能是轮子(wheel ...

  7. python中斐波那契数列_斐波那契数列–在Python,JavaScript,C ++,Java和Swift中进行了解释...

    python中斐波那契数列 by Pau Pavón 通过保罗·帕文(PauPavón) The Fibonacci sequence is, by definition, the integer s ...

  8. python中函数分为哪四类_Python函数参数分类原理详解

    1.函数的参数在哪里定义 在python中定义函数的时候,函数名后面的括号里就是用来定义参数的,如果有多个参数的话,那么参数之间直接用逗号,隔开 案列: # 利用函数的参数,定义一个可以完成任意两个数 ...

  9. python中控制代码块逻辑关系_一、Python基础知识

    1.1 Python简介 (1)解释型语言 解释型语言在运行程序的时候才逐行翻译.运行. ①优点: 有良好的平台兼容性,在任何环境中都可以运行(安装了解释器)灵活,修改代码的时候直接修改就可以,可以快 ...

  10. python中用于循环结构的关键字_详解Python的循环结构知识点

    循环结构的应用场景 如果在程序中我们需要重复的执行某条或某些指令,例如用程序控制机器人踢足球,如果机器人持球而且还没有进入射门范围,那么我们就要一直发出让机器人向球门方向奔跑的指令.当然你可能已经注意 ...

最新文章

  1. 2020考研公共课_基础精讲课_管理类联考综合能力 联考逻辑(读书笔记)
  2. Sea.js学习4——Sea.js的配置
  3. 【干货】张小龙演讲PPT:APP产品经理必须要懂的30条原则
  4. ​什么问题最让程序员头秃?我们分析了11种语言的11000个问题
  5. input 对伪元素(:before :after)的支持情况
  6. 谷歌android wear智能腕表 价格,谷歌Android Wear 2.0更新推送:仅三款智能手表可享受...
  7. 查询mysql数据库中所有表名
  8. http 301、304状态码
  9. python - list 列表推导式
  10. 遇到from playsound import playsoundModuleNotFoundError: No module named ‘playsound‘解决办法
  11. vue点击按钮打开下拉菜单_vue+element下拉框样式的点击按钮
  12. 我们为什么需要信息增益比,而不是信息增益?
  13. Android中的四大组件
  14. 使用adb的时候出现 adb不是内部或者外部命令如何解决
  15. android 游戏分享
  16. 基于python3.7的4环电阻读数工具
  17. libyuv转码出现“corrupted size vs. prev_size”错误
  18. 二进制与其他进制的转换
  19. Sentinel-1 (哨兵1号)轨道数据下载网址跟(2022更新)
  20. 推荐 :ChatGPT研究框架(80页PPT)

热门文章

  1. 使用js一行代码解决上网培训弹窗问题
  2. FeedingBottle——体积小巧的 Aircrack-ng GUI
  3. TrueCrypt中文教程
  4. 【P2P的Jxta解决之道】
  5. ISO27001风险评估实施流程(详细版)
  6. Java基础——学生管理系统
  7. 计算机怎么剪切音乐然后合在一起,怎么在电脑裁剪歌曲 怎么裁剪和拼接音乐...
  8. 西门子PLC200SMART(二)
  9. [学习]啦啦外卖定位修复,商家经纬度保存修复
  10. JAVAEE框架架构高级视频教程