DataWhale 集成学习task05--分类

集成学习task05–分类

0 前言

  • 数据集: IRIS鸢尾花数据集
  • 度量指标: 准确率、精度、召回率、F1值、ROC曲线
  • 模型:逻辑回归、概率分类、决策树、支持向量机SVM、非线性支持向量机

1 分类的度量指标

1.1混淆矩阵
  • TP: True Positives, 表示实际为正例且被分类器判定为正例的样本数
  • FP: False Positives, 表示实际为负例且被分类器判定为正例的样本数
  • FN: False Negatives, 表示实际为正例但被分类器判定为负例的样本数
  • TN: True Negatives, 表示实际为负例且被分类器判定为负例的样本数
    *tip1: 第一个字母表示划分正确性, T 表示判定正确(True), F表示判定错误(False);第二个字母表示分类器判定结果, P表示判定为正例, N表示判定为负例。

在这里插入图片描述

1.2 指标
1.2.1 Accuracy 准确率

A C C = T P + T N F P + F N + T P + T N = 正 确 预 测 的 样 本 数 样 本 总 数 ( 1 ) ACC = \frac{TP+TN}{FP+FN+TP+TN}=\frac{正确预测的样本数}{样本总数} (1) ACC=FP+FN+TP+TNTP+TN=1
准确率能清晰反映模型的表现,但当正负样本不平衡时,占比较大的类将成为影响的最主要因素,此时的准确率就失去了公平性。

1.2.2 Precision 精度

P r e c i s i o n = T P T P + F P = 真 值 为 1 且 预 测 正 确 的 样 本 数 预 测 为 正 例 的 样 本 数 ( 2 ) Precision = \frac{TP}{TP+FP}= \frac{真值为1且预测正确的样本数}{预测为正例的样本数} (2) Precision=TP+FPTP=12
TP+FP为预测为正例的所有样本数,精度越大就代表着预测正例正确的可能性越大,即分类器对预测正样本越有把握。综上,精度反映了负样本区分能力。

1.2.3 Recall 召回率

R e c a l l = T P T P + F N = 真 值 为 1 且 预 测 正 确 的 样 本 数 真 值 样 本 数 ( 3 ) Recall = \frac{TP}{TP+FN}= \frac{真值为1且预测正确的样本数}{真值样本数} (3) Recall=TP+FNTP=13
召回率,顾名思义即预测到真值的概率。通常,预测样本数越多,找到真值的概率越大。

1.2.4 F1-score

F 1 = 2 P R E × R E C P R E + R E C , 综 合 衡 量 精 度 及 召 回 率 ( 4 ) F1 = 2\frac{PRE\times REC}{PRE + REC}, 综合衡量精度及召回率 (4) F1=2PRE+RECPRE×REC4
及更一般的形式 F β : F_\beta: Fβ:
F β = ( 1 + β 2 ) × P R E × R E C β 2 × P R E + R E C ( 5 ) F_\beta = \frac{(1+\beta^2)\times PRE\times REC}{\beta^2 \times PRE + REC} (5) Fβ=β2×PRE+REC(1+β2)×PRE×REC5
β \beta β为PRE、REC的权重比,当 β = 1 \beta = 1 β=1时,即为F1的形式;当 β > 1 \beta > 1 β>1时, F > 1 F_{>1} F>1中REC比PRE的权重值更大,对 F β F_\beta Fβ贡献更大;反之 β < 1 \beta < 1 β<1时, REC比PRE的权重值小,对 F β F_\beta Fβ贡献小。

1.2.5 ROC曲线与AUC面积

分类任务在测试时,通常会选择设定一个阈值,大于阈值为正例,小于为负例。阈值越小,那么更多的样本会被预测为正例。
ROC曲线

x − a x i s : F P R = F P F P + F N ( 6 ) x-axis: FPR = \frac{FP}{FP + FN} (6) xaxis:FPR=FP+FNFP6
y − a x i s : T P R = T P T P + F N ( 7 ) y-axis: TPR = \frac{TP}{TP + FN} (7) yaxis:TPR=TP+FNTP7

其中,FPR代表分错样本中将负例分成正例的概率,TPR代表对正样本的找全率。通常减小阈值,TPR会增大,对应FPR也会增大。
在这里插入图片描述
在 ROC 曲线中, 有:

  • FPR = 0, TPR = 0: 表示将每一个实例都预测为负类
  • FPR = 1, TPR = 1:表示将每一个实例都预测为正例
  • FPR = 0, TPR = 1:为最优分类点
  • 分类器对应的ROC曲线应该尽可能靠近坐标轴的左上角, 而对角线的位置意味着分类器的效果和随机猜测一样的差。

ROC曲线在测试集中的样本分布发生变化的时候能够保持不变。但遗憾的是,很多时候, ROC 曲线并不能清晰的说明哪个分类器的效果更好,反而是 AUC 能够对分类器做出直观的评价。

AUC:Area under Curve

AUC 为ROC 曲线下的面积, 这个面积的数值介于0到1之间, 能够直观的评价出分类器的好坏, AUC的值越大, 分类器效果越好。

  • AUC = 1: 完美分类器, 采用该模型,不管设定什么阈值都能得出完美预测(绝大多数时候不存在)
  • 0.5 < AUC < 1: 优于随机猜测,分类器好好设定阈值的话,有预测价值
  • AUC = 0.5: 跟随机猜测一样,模型没有预测价值
  • AUC < 0.5 :比随机猜测还差,但是如果反着预测,就优于随机猜测。

在这里插入图片描述
*tip2: 两个模型的AUC 相等并不代表模型的效果相同,见上图。
*tip3:在多分类场景下的 ROC 曲线以及 AUC 值, 此时 ROC 曲线应该有多个, 而AUC 的计算如下:
A U C = 2 ∣ C ∣ ( ∣ C ∣ − 1 ) ∑ i = 1 ∣ c ∣ A U C i , 其 中 C 表 示 类 别 数 量 ( 8 ) AUC = \frac{2}{|C|(|C| - 1) }\sum_{i=1}^{|c|}{AUC}_i , 其中C表示类别数量 (8) AUC=C(C1)2i=1cAUCi,C(8)

1.2.6 P-R曲线

在这里插入图片描述
P-R 曲线其横坐标为 Recall, 纵坐标为 Precision。图中A 完全包住了C, 着意味着A 的Precision 与 Recall 都高于C, A优于C。 而对比 A,B, 二者存在交叉的情况,此时采用曲线下面积大小衡量性能,面积越大,性能越好,此处的A优于B。

2.模型

2.1 逻辑回归logistic regression

逻辑回归(Logistic Regression)与线性回归(Linear Regression)都是一种广义线性模型(generalized linear model)。逻辑回归假设因变量 y 服从伯努利分布,而线性回归假设因变量 y 服从高斯分布。 因此与线性回归有很多相同之处,去除Sigmoid映射函数的话,逻辑回归算法就是一个线性回归。可以说,逻辑回归是以线性回归为理论支持的,但是逻辑回归通过Sigmoid函数引入了非线性因素,因此可以轻松处理0/1分类问题。
假设函数(Hypothesis function)
Sigmoid函数,也称为逻辑函数(Logistic function):
g ( z ) = 1 1 + e − z ( 9 ) g(z) = \frac{1}{1 + e^{-z}} (9) g(z)=1+ez1(9)
在这里插入图片描述
sigmoid函数是一个s形的曲线,它的取值在[0, 1]之间,在远离0的地方函数的值会很快接近0或者1。
逻辑回归的假设函数形式如下:
h θ ( x ) = g ( θ T x ) ( 10 ) h_\theta(x) = g(\theta^Tx) (10) hθ(x)=g(θTx)(10)
见 式 ( 9 ) 见式(9) (9)
所以 h θ ( x ) = 1 1 + e − θ T x ( 11 ) h_\theta(x) = \frac{1}{1 + e^{-\theta^Tx}} (11) hθ(x)=1+eθTx1(11)
其中 x x x是我们的输入, θ \theta θ 为我们要求取的参数。
在给定 x x x θ \theta θ的条件下 y = 1 y=1 y=1 的概率,因此,我们假设逻辑回归模型为:
p ( y = 1 ∣ x ) = 1 1 + e − θ T x p(y = 1|x) = \frac{1}{1+e^{-\theta^Tx}} p(y=1x)=1+eθTx1

2.2 概率分类模型
2.2.1线性判别分析
2.2.1.1基于贝叶斯公式对线性判别分析的理解

贝叶斯定理:
P ( Y = k ∣ X = x ) = π k f k ( x ) ∑ l = 1 K π l f l ( x ) ( 12 ) {P(Y=k|X=x) = \dfrac{{\pi}_kf_k(x)}{\sum\limits_{l=1}^K{\pi}_lf_l(x)}}(12) P(Y=kX=x)=l=1Kπlfl(x)πkfk(x)(12)
思路:分母 ∑ l = 1 K π l f l ( x ) = P ( X = x ) {{\sum\limits_{l=1}^K{\pi}_lf_l(x)} = P(X=x)} l=1Kπlfl(x)=P(X=x)是一个当样本给定的时候是一个与分类 k k k 无关的常数,所以我们的问题可以简化为只需要计算分子 π k f k ( x ) {{\pi}_kf_k(x)} πkfk(x) ,进而比较哪个类别的概率最大就知道属于哪个类别了。即,通过贝叶斯定理计算贝叶斯定理的分子,比较分子最大的那个类别为最终类别。(ps:萌弟大佬的推导过程我全程看得十分懵逼,我实在数学功底太弱了)

2.2.1.2 降维分类的思想理解线性判别分析

基于数据进行分类时,将高维的数据降维至一维,然后使用某个阈值将各个类别分开。下面用图的形式展示
在这里插入图片描述
进行分类时的思想简称为:类内方差小,类间方差大,在计算机语言叫“松耦合,高内聚”。

2.2.2 朴素贝叶斯

朴素贝叶斯算法对线性判别分析作进一步的模型简化,它将线性判别分析中的协方差矩阵中的协方差全部变成0,只保留各自特征的方差,也就是朴素贝叶斯假设各个特征之间是不相关的。遵循偏差-方差理论的推导,朴素贝叶斯相比线性判别分析模型进行了简化,故方差小,偏差大。

2.3 决策树

决策树与回归树大致一样,回归问题中,选择分割点的标准是均方误差,分类选择分类错误率。分类错误率就是:此区域内的训练集中非常见类所占的类别,即:
E = 1 − m a x k ( p ^ m k ) ( 13 ) E = 1-max_k(\hat{p}_{mk}) (13) E=1maxk(p^mk)(13)
上式中的 p ^ m k \hat{p}_{mk} p^mk代表第m个区域的训练集中第k类所占的比例。但是在大量的事实证明:分类错误率在构建决策树时不够敏感,一般在实际中用如下两个指标代替:
(1) 基尼系数:
G = ∑ k = 1 K p ^ m k ( 1 − p ^ m k ) ( 14 ) G = \sum\limits_{k=1}^{K} \hat{p}_{mk}(1-\hat{p}_{mk}) (14) G=k=1Kp^mk(1p^mk)(14)
由基尼系数作为指标得到的分类树叫做:CART。
(2) 交叉熵:
D = − ∑ k = 1 K p ^ m k l o g    p ^ m k ( 15 ) D = -\sum\limits_{k=1}^{K} \hat{p}_{mk}log\;\hat{p}_{mk} (15) D=k=1Kp^mklogp^mk(15)
事实证明,基尼系数和交叉熵在数值上时很接近的。
在这里插入图片描述
决策树分类算法的完整步骤:
a. 选择最优切分特征j以及该特征上的最优点s:
遍历特征j以及固定j后遍历切分点s,选择使得基尼系数或者交叉熵最小的(j,s)
b. 按照(j,s)分裂特征空间,每个区域内的类别为该区域内样本比例最多的类别。
c. 继续调用步骤1,2直到满足停止条件,就是每个区域的样本数小于等于5。
d. 将特征空间划分为J个不同的区域,生成分类树。

2.4 支持向量机SVM:

大名鼎鼎的支持向量机SVM是20世纪90年代在计算机界发展起来的一种分类算法,在许多问题中都被证明有较好的效果,被认为是适应性最广的算法之一。
在这里插入图片描述
支持向量机的基本原理非常简单,如图所视,白色和蓝色的点各为一类,我们的目标是找到一个分割平面将两个类别分开。通常来说,如果数据本身是线性可分的,那么事实上存在无数个这样的超平面。这是因为给定一个分割平面稍微上移下移或旋转这个超平面,只要不接触这些观测点,仍然可以将数据分开。一个很自然的想法就是找到最大间隔超平面,即找到一个分割平面距离最近的观测点最远。
推导没看懂,立个flag,看懂后再补。。。。。

2.5 非线性支持向量机

在这里插入图片描述
那我们应该如何处理生活中更多遇到的非线性问题呢?答案就是将数据投影至更加高的维度!
在这里插入图片描述
推导以后看懂再补,菜鸡落泪!!!!

参考:
[1].https://github.com/datawhalechina/team-learning-data-mining/tree/master/EnsembleLearning
[2].https://zhuanlan.zhihu.com/p/69101372
[3].https://zhuanlan.zhihu.com/p/28408516

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值