数据挖掘十大算法之分类算法

数据挖掘十大算法之分类算法,第1张

文章目录
    • 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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/571858.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存