文章目录

  • 1. 分类相关知识
    • 1.1 分类的概念
    • 1.2 分类的流程
    • 1.3 分类模型评价标准
  • 2. 二分类分类案例
  • 参考文章:

接上篇文章,接下来学习挖掘算法中的分类算法:

首先我们应该知道数据挖掘十大算法中可以简单的进行分类,分为分类算法聚类算法关联规则三大类

算法分类

连接分析:PageRank

关联分析:Apriori

分类算法:ID3、C4.5,朴素贝叶斯,SVM,KNN,Adaboost,CART

聚类算法:K-Means,EM

这里研究分类算法中的决策算法——ID3算法,有ID3算法的知识背景后分析C4.5算法就会容易很多

1. 分类相关知识

1.1 分类的概念

分析分类算法,那么首先我们需要知道什么是分类,这里我们给出定义:

分类是最常见的数据挖掘任务,也是人类众多规则之一

给定数据集D={t1,t2,…,tn},元组ti为D的真子集,类的集合C={C1,……,Cm}

我们将分类的问题定义为:

关于分类我们应该知道:

  • 考察一个新出现的对象的特征,并归类到已定义类中。
  • 在数据挖掘中,分类的对象通常是数据库表或文件中的记录
  • 分类工作首先要有一个清晰定义的类
  • 注意: 类的个数是确定的,预先定义好的
  • 其次,要有一系列已分类实例

1.2 分类的流程

分类的流程为:

  • 步骤一:数据准备
  • 步骤二:特征选择
  • 步骤三:建立分类器

我们通过一个例子来解释一下以上三个流程:

我们看下面的数据集,根据已知样本的相关信息,能否对未知的样本进行分类? 动物A和动物B是什么类型的动物呢?

步骤一:数据准备

步骤二:特征选择

选择与类别相关的特征,比如,绿色代表与类别非常相关,黑色代表部分相关,灰色代表完全无关

建立分类器。分类器通常可以看作一个函数。在这里我们可以简单的分析出:

产蛋并且有翅膀、脚的只数就可以分类为鸟类;不产蛋、没有翅膀、并且脚的只数为4只的可以分类为爬行动物,但是我们看动物A和动物B都不能满足所以的分类条件,所以在这里我们并不能将其进行分类

我们给出分类器的公式:
f ( x i 1 , x i 2 , x i 3 , . . . . . . , x i n ) → y i f (xi1,xi2,xi3,......,xin)→ yi f(xi1,xi2,xi3,......,xin)→yi
我们通过下面的分类过程来演示一下分类器

第一步 建立模型

例如下图中,训练集通过分类算法建立模型,我们可以得到:

  • 如果这个人是教授或者他的任教时间超过了6年,那么他就可以被终身聘用

第二步:使用模型进行分类

我们看下图,通过上面建立好的分类集,我们就可以判断Jeff是教授,所以他可以被终身聘用

1.3 分类模型评价标准

分类流程中,最重要的一步就是怎么找到分类模型,并且如何衡量分类模型的正确性

这里就引出了如何评价分类模型的问题,对于分类模型,主要可以从以下几个方面进行评价:

  1. 预测的准确度:模型正确地预测新的或之前没见过的数据类别的能力
  2. 速度:产生和使用模型的计算成本
  3. 强壮型:当存在噪声数据或具有空缺值的数据时,模型正确预测的能力
  4. 可伸缩性:当给定大量数据时,有效地构造模型的能力
  5. 可解释性:学习模型提供的理解和洞察的层次

分类评价的常用术语有:

  1. 真正类(True Positive , TP):被模型预测为正例的正样本个数
  2. 假正类(False Positive , FP):被模型预测为正例的负样本个数
  3. 假负类(False Negative , FN):被模型预测为负例的正样本个数
  4. 真负类(True Negative , TN):被模型预测为负例的负样本个数
  5. 混淆矩阵(confusion matrix):是用来反应某一个分类模型的分类结果,其中行表示的是真实的类别,列表示的是模型预测的类别

在分类的时候,我们有二分类和多分类,所谓的二分类就是将分类的结果分为两类,例如我们将人的性别分为男人和女人

二分类算法的评价指标包括以下几个:

  1. 正确度(accuracy):accuracy = (TP + TN) / (P + N),即被分对的样本数除以所有样本数,正确率越高,分类器越好

  2. 错误率(error rate):错误率和正确率相反,描述被分类器错分的比例。error rate = (FP + FN) / (P + N),对某一个实例来说,分队和分错是互斥事件,所以我们有accuracy = 1 - error rate

  3. 灵敏度(sensitive):sensitive = TP / P,表示的是所有正例中被分对的比例。灵敏度衡量了分类器对真例的识别能力

  4. 特效度(specificity):specificity = TN / N,表示的是所有负例中被分对的比例,衡量了分类器对负例的识别能力

  5. 精度(precision):precision = TP / (TP + FP),精度是精确性的度量,表示被分为正例的实例中实际为正例的比例

  6. 召回率(recall):recall = TP / (TP + FN) = TP / P = sensitive,召回率是对覆盖面的度量,度量有多个正例被正确地分为正例

  7. ROC(Receiver Operating Characteristic)曲线和AUC(曲线包围面积),ROC曲线也被成为接受者操作曲线,来源于信号检测领域,可以用来比较两个分类器的性能。ROC曲线关注两个指标TPR(true positive rate)和FPR(false positive rate)
    T P R = T P / ( T P + F N ) TPR = TP / (TP + FN) TPR=TP/(TP+FN)

    F P R = F P / ( F P + T N ) FPR = FP / (FP + TN) FPR=FP/(FP+TN)

    详细的介绍请看这篇文章:机器学习分类模型评价指标详述

2. 二分类分类案例

我们通过一个二分类的例子来将上面的评价指标串起来

我们有以下数据集,我们需要进行海洋生物识别,鱼类标签为1,非鱼类为0:

我们根据分别表可以知道:

TP=900:真阳 FP=200: 假阳

FN=100: 假阴 TN=800: 真阴

参考文章:

  • 机器学习分类模型评价指标详述
  • 学校PPT

数据挖掘十大算法之分类算法(分类介绍及评价指标)相关推荐

  1. 数据挖掘十大经典算法之——Naive Bayes 算法

    数据挖掘十大经典算法系列,点击链接直接跳转: 数据挖掘简介及十大经典算法(大纲索引) 1. 数据挖掘十大经典算法之--C4.5 算法 2. 数据挖掘十大经典算法之--K-Means 算法 3. 数据挖 ...

  2. 数据挖掘十大经典算法之——KNN 算法

    数据挖掘十大经典算法系列,点击链接直接跳转: 数据挖掘简介及十大经典算法(大纲索引) 1. 数据挖掘十大经典算法之--C4.5 算法 2. 数据挖掘十大经典算法之--K-Means 算法 3. 数据挖 ...

  3. 数据挖掘十大经典算法之——AdaBoost 算法

    数据挖掘十大经典算法系列,点击链接直接跳转: 数据挖掘简介及十大经典算法(大纲索引) 1. 数据挖掘十大经典算法之--C4.5 算法 2. 数据挖掘十大经典算法之--K-Means 算法 3. 数据挖 ...

  4. 数据挖掘十大经典算法之——C4.5 算法

    数据挖掘十大经典算法系列,点击链接直接跳转: 数据挖掘简介及十大经典算法(大纲索引) 1. 数据挖掘十大经典算法之--C4.5 算法 2. 数据挖掘十大经典算法之--K-Means 算法 3. 数据挖 ...

  5. 数据挖掘十大经典算法(转载)

    数据挖掘十大经典算法 一.C4.5      C4.5,是机器学习算法中的一个分类决策树算法,它是决策树(决策树也就是做决策的节点间的组织方式像一棵树,其实是一个倒树)核心算法ID3的改进算法,所以基 ...

  6. 数据挖掘十大经典算法(详解)

                                                           数据挖掘十大经典算法  一. C4.5  C4.5算法是机器学习算法中的一种分类决策树算法 ...

  7. 数据挖掘十大经典算法笔记

    主要总结一下数据挖掘十大经典算法,包括各自优缺点, 适用数据场景,做个小笔记,分享一下 数据挖掘主要分为分类算法,聚类算法和关联规则三大类,这三类基本上涵盖了目前商业市场对算法的所有需求.而这三类里又 ...

  8. 数据挖掘十大经典算法个人总结

    数据挖掘十大经典算法个人总结 这两年对数据挖掘相关知识研究运用的已经很多了,最近看了关于数据挖掘十大经典算法的文章.想对其进行一个总结,强化下自己对这些算法的理解. 1. C4.5 C4.5 是基于I ...

  9. 决策树C4.5算法 c语言实现,数据挖掘十大经典算法(1) C4.5_决策树算法

    数据挖掘十大经典算法(1) C4.5_决策树算法 机器学习中,决策树是一个预测模型:他代表的是对象属性与对象值之间的一种映射关系.树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的属性值,而每 ...

最新文章

  1. python怎么识别拼音-python获取一组汉字拼音首字母的方法
  2. Bulk批量操作API的介绍
  3. php 走马灯轮播,Vue.js轮播图走马灯代码实例(全)
  4. 我一个弱女子在欧洲大街上拉屎了,因为便秘惹的祸
  5. Go语言标准库之fmt.Print
  6. Vue v-for生成DOM元素
  7. EasyPR--中文车牌识别系统 开发详解(开源)
  8. 2021-01-11
  9. 避免eclipse下启动run就进入debug模式
  10. 预定义类型未定义或导入_探索类型系统的底层 - 自己实现一个 TypeScript
  11. JAVA 实现批量PDF 打印,线程池多线程执行(附完整代码)
  12. [Windows系统]查看电脑开关机时间
  13. 关于深圳商事登记招商ukey签名无效
  14. python随风飘落怎么画_树叶飘落动画制作 如何制作树叶飘落的动画?视频画面添加树叶随风飘落的动画效果...
  15. C语言socket重连和心跳,c# socket 心跳 重连
  16. 各国语言名称英文简写对照表
  17. wpsjs插件开发-采用js和wps交互功能
  18. Java 基本数据类型(八种基本数据类型)
  19. 5G工业路由器 千兆高速低延时
  20. cvi读写.csv文件

热门文章

  1. 身为一个安卓程序员Context都没弄明白?终局之战
  2. oracle分布式数据库搭建,ORACLE实现分布式数据库应用
  3. 花园除草机行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  4. 区块链+基因检测可行?不暴露个人信息就能测序基因组!
  5. 推荐一位零基础Python网络爬虫学习者,原来也爬虫也没有那么难
  6. 一文搞定GPS接收机定位
  7. Vmware虚拟机设置静态IP地址(windows)
  8. webdriver使用
  9. Context完全解析(一)什么是Context?
  10. 机器学习-多元线性回归(Multiple Regression)算法