机器学习基础(下)

使用指南——FROM 小罗同学

2.10之前的内容请参考下面这篇文章:

总目录请参考下面这篇文章:

本篇笔记的主要内容是ROC曲线的理解与绘制,我会在原作者的基础上再做一个整合。看到排版混乱的,就表明我还没整理到那,可以先收藏,过几天再来,哈哈。


2.10:模型评估

当我们在评估模型的性能时,有哪些常用方法,判断某个模型在新数据集上的表现如何?本节将介绍机器学习中一些常用的模型评估方法,重点理解误差、偏差和方差有什么区别和联系,介绍过拟合和欠拟合出现的原因及解决办法,以及一些常见的模型评价指标。

2.10.01:模型评估常用方法

一般情况来说,单一评分标准无法完全评估一个机器学习模型。只用good和bad偏离真实场景去评估某个模型,都是一种欠妥的评估方式。下面介绍常用的分类模型和回归模型评估方法。

常用的分类模型评估方法

指标描述
【1】Accuracy准确率
【2】Precision精准度/查准率
【3】Recall召回率/查全率
【4】P-R曲线查准率为纵轴,查全率为横轴,作图
【5】F1F1值
【6】Confusion Matrix混淆矩阵
【7】ROCROC曲线
【8】AUCROC曲线下的面积

常用的回归模型评估方法

指标描述
【1】Mean Square Error (MSE, RMSE)均方误差
【2】Mean Absolute Error (MAE, RAE)平均绝对误差
【3】R-SquaredR平方值
【4】Root Mean Square Error (MSE, RMSE)均方根误差

2.10.02:误差、偏差和方差有什么区别和联系

在机器学习中,Error(误差),Bias(偏差)和Variance(方差)存在以下区别和联系:

误差(error)

一般地,我们把学习器的实际预测输出样本的真实输出之间的差异称为“误差”。 Error = Bias + Variance + Noise ,Error反映的是整个模型的准确度

噪声(Noise)

描述了在当前任务上任何学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度

偏差(Bias)

Bias衡量模型拟合训练数据的能力(训练数据不一定是整个 training dataset,而是只用于训练它的那一部分数据,例如:mini-batch),Bias反映的是模型在样本上的输出与真实值之间的误差,即模型本身的精准度

Bias 越小,拟合能力越高(可能产生过拟合);反之,拟合能力越低(可能产生underfitting)。偏差越大,越偏离真实数据,如下图所示。

方差(Variance)

方差公式: S_{N}{2}=\frac{1}{N}\sum_{i=1}{N}(x_{i}-\bar{x})^{2}

Variance描述的是预测值的变化范围,离散程度,也就是离其期望值的距离方差越大,数据的分布越分散,模型的稳定程度越差。Variance反映的是模型每一次输出结果与模型输出期望之间的误差,即模型的稳定性

Variance越小,模型的泛化的能力越高;反之,模型的泛化的能力越低。如果模型在训练集上拟合效果比较优秀,但是在测试集上拟合效果比较差劣,则方差较大,说明模型的稳定程度较差,出现这种现象可能是由于模型对训练集过拟合造成的。 如下图右列所示。

注意:模型效果越好,数据越集中,且离中心点越近。


2.10.03:为什么使用标准差

首先来看方差、标准差以及样本标准差的数学公式:

  • 方差: S_{N}{2}=\frac{1}{N}\sum_{i=1}{N}(x_{i}-\bar{x})^{2}
  • 标准差: S_{N}=\sqrt{\frac{1}{N}\sum_{i=1}{N}(x_{i}-\bar{x}){2}}
  • 样本标准差: S_{N}=\sqrt{\frac{1}{N-1}\sum_{i=1}{N}(x_{i}-\bar{x}){2}}

与方差相比,使用标准差来表示数据点的离散程度有以下好处:

(1)表示离散程度的数字与样本数据点的数量级一致,更适合对数据样本形成感性认知;

(2)表示离散程度的数字单位与样本数据的单位一致,更方便做后续的分析运算;

(3)在样本数据大致符合正态分布的情况下,标准差具有方便估算的特性:68%的数据点落在平均值前后一个标准差的范围内、95%的数据点落在平均值前后2个标准差的范围内,而99%的数据点将会落在平均值前后3个标准差的范围内。


2.10.04:经验误差与泛化误差

经验误差(empirical error)

也叫训练误差(training error),模型在训练集上的误差

泛化误差(generalization error)

模型在新样本集(测试集)上的误差称为“泛化误差”。


2.10.05:图解欠拟合、过拟合

根据不同的坐标方式,欠拟合与过拟合图解不同。

1. 横轴为训练样本数量,纵轴为误差

如上图所示,我们可以直观看出欠拟合和过拟合的区别:

  • 模型**欠拟合**:在训练集以及测试集上同时具有较高的误差,此时模型的偏差较大;
  • 模型**过拟合**:在训练集上具有较低的误差,在测试集上具有较高的误差,此时模型的方差较大。
  • 模型**正常**:在训练集以及测试集上,同时具有相对较低的偏差以及方差。
2.横轴为模型复杂程度,纵轴为误差

红线为测试集上的Error,蓝线为训练集上的Error

  • 模型**欠拟合**:模型在点A处,在训练集以及测试集上同时具有较高的误差,此时模型的偏差较大。
  • 模型**过拟合**:模型在点C处,在训练集上具有较低的误差,在测试集上具有较高的误差,此时模型的方差较大。
  • 模型**正常**:模型复杂程度控制在点B处为最优。
3. 横轴为正则项系数,纵轴为误差

红线为测试集上的Error,蓝线为训练集上的Error

  • 模型**欠拟合**:模型在点C处,在训练集以及测试集上同时具有较高的误差,此时模型的偏差较大。
  • 模型**过拟合:模型在点A处,在训练集上具有较低的误差,在测试集上具有较高的误差,此时模型的方差较大。 它通常发生在模型过于复杂的情况下,如参数过多等,会使得模型的预测性能变弱,并且增加数据的波动性。虽然模型在训练时的效果可以表现的很完美,基本上记住了数据的全部特点,但这种模型在未知数据的表现能力会大减折扣,因为简单的模型泛化能力通常都是很弱的**。
  • 模型**正常**:模型复杂程度控制在点B处为最优。

2.10.06:如何解决过拟合与欠拟合

总结一下,**过拟合是指模型在训练集表现很好,但是在测试集上表现不行;欠拟合**是指在训练集和测试集上表现都不好。

1、如何解决欠拟合

(1)添加其他特征项。组合、泛化、相关性、上下文特征、平台特征等特征是特征添加的重要手段,有时候特征项不够会导致模型欠拟合。

(2)添加多项式特征。例如将线性模型添加二次项或三次项使模型泛化能力更强。例如,FM(Factorization Machine)模型、FFM(Field-aware Factorization Machine)模型,其实就是线性模型,增加了二阶多项式,保证了模型一定的拟合程度。

(3)可以**增加模型的复杂程度**。

(4)减小正则化系数。**正则化的目的是用来防止过拟合**的,但是现在模型出现了欠拟合,则需要减少正则化参数。

2、如何解决过拟合

(01)重新清洗数据,数据不纯会导致过拟合,此类情况需要重新清洗数据;

(02)增加训练样本数量;

(03)降低模型复杂程度;

(04)增大正则项系数;

(05)采用dropout方法——原理是在前向传播的过程中随机删除隐含层中部分神经元及其连接,当删除的神经元集合不同时,训练的神经网络也不同。不同的神经网络会以不同的方式发生过拟合,因此 Dropout 正则化类似于对数个不同的神经网络**取均值从整体层次上减少过拟合现象发生的概率**。这样可以使得模型的泛化能力更强,因为它不会过度依赖于某些局部的特征。

从我本科毕设里扒的图,凑合看吧

(06)使用早停法(early stopping);

(07)减少迭代次数;

(08)增大学习率;

(09)添加噪声数据;

(10)树结构中,可以对树进行剪枝;

(11)减少特征项。

欠拟合和过拟合这些方法,需要根据实际问题,实际模型,进行选择。


2.10.07:交叉验证的主要作用

交叉验证(Cross Validation)主要用于主成分回归(Pprincipal Component Regressions,PCR)和偏最小二乘回归(Partial Least Squares Regression,PLS)等建模应用中。在给定的建模样本中,拿出**大部分的样本进行建模,留一小部分**样本对刚建立的模型进行预报,并求出这一小部分样本的预报误差,记录它们的平方加权和。

交叉验证的主要作用是为了得到更为稳健可靠的模型,对模型的泛化误差进行评估,得到模型泛化误差的近似值。当有多个模型可以选择时,我们通常选择“泛化误差”最小的模型。

交叉验证的方法有许多种,但是最常用的是:留一交叉验证、k折交叉验证。


2.10.08:理解k折交叉验证

在训练数据的过程中,经常会遇到数据量不够大的情况,此使K折就是将数据集切分成K份,验证集和测试集相互形成补集,循环交替:

1、K折交叉验证的一般步骤

(1)将含有N个样本的数据集,分成K份,每份含有N/K个样本。选择其中1份作为测试集,另外K-1份作为训练集,测试集就有K种情况。

(2)在每种情况中,用训练集训练模型,用测试集测试模型,计算模型的泛化误差。

(3)交叉验证重复K次,每份验证一次,平均K次的结果或者使用其它结合方式,最终得到一个单一估测,得到模型最终的泛化误差。

2、K折交叉验证的特点

(1) 一般 2\leqslant K \leqslant10 。 k折交叉验证的优势在于,同时重复运用随机产生的子样本进行训练和验证,每次的结果验证一次,10折交叉验证是最常用的

(2) 训练集中样本数量要足够多,一般至少大于总样本数的50%。

(3) 训练集和测试集必须从完整的数据集中**均匀取样。均匀取样的目的是希望减少训练集、测试集与原数据集之间的偏差。当样本数量足够多时,通过随机取样**,便可以实现均匀取样的效果。

Q:样本数量比较少的时候,如何实现高质量的均匀采样?


2.10.09:混淆矩阵

混淆矩阵也称为**误差矩阵**,是表示精度评价的一种标准格式,下面介绍两种常见的混淆矩阵:

第一种混淆矩阵

真实情况T or F预测为正例1,P预测为负例0,N
本来label标记为1,预测结果真为T、假为FTP(预测为1,实际为1)FN(预测为0,实际为1)
本来label标记为0,预测结果真为T、假为FFP(预测为1,实际为0)TN(预测为0,实际也为0)

第二种混淆矩阵

预测情况P or N实际label为1,预测对了为T实际label为0,预测对了为T
预测为正例1,PTP(预测为1,实际为1)FP(预测为1,实际为0)
预测为负例0,NFN(预测为0,实际为1)TN(预测为0,实际也为0)

2.10.10:理解查准率及查全率

将算法预测的结果分成四种情况:

1. 正确肯定(True Positive,TP)预测为真,实际为真
2. 正确否定(True Negative,TN)预测为假,实际为假
3. 错误肯定(False Positive,FP)预测为真,实际为假
4. 错误否定(False Negative,FN)预测为假,实际为真

查准率及查全率的计算和含义如下:

查准率(Precision)=TP/(TP+FP)

预测出为阳性的样本中,正确的有多少。此处需要与准确率做一个区分——准确率是指正确预测出的样本,包括正确预测为阳性、阴性,占总样本比例,即 Ac=\frac{TP+FN}{TP+TN+FP+FN} 。

例如,我们需要预测人群中的恶性肿瘤情况,查准率等于实际上有恶性肿瘤的病人在所有我们预测有恶性肿瘤的患者中所占的百分比,也就是说,查准率**越高越好**。

查全率(Recall)=TP/(TP+FN)

正确预测为阳性的数量占总样本中阳性数量的比例。

例如,查全率等于在所有实际上有恶性肿瘤的病人中,成功预测有恶性肿瘤的病人所占的百分比,越高越好


2.10.11:ROC与AUC

ROC全称是“受试者工作特征”(Receiver Operating Characteristic)。ROC曲线的面积就是AUC(Area Under Curve)。

AUC用于衡量“二分类问题”机器学习算法性能(泛化能力)。2.3.2节简要介绍了用ROC曲线和PR曲线作为评估二分类算法的指标,在本节和接下来的几个小节中,将详细介绍ROC和AUC相关的原理和计算过程。

ROC曲线,通过**将连续变量设定出多个不同的临界值,从而计算出一系列真正例率(TP)假正例率(FP),再以假正例率为横坐标、真正例率为纵坐标**绘制成曲线,曲线下面积AUC越大,推断准确性越高。在ROC曲线上,最靠近坐标图左上方的点为假正例率和真正例率均较高的临界值。

ROC曲线的横坐标为False Positive Rate(FPR),纵坐标为True Positive Rate(TPR)。其中

注意,此处的TPR就是上一节介绍的查全率。

TPR = \frac{TP}{TP+FN} ,FPR = \frac{FP}{FP+TN}

下面着重介绍ROC曲线图中的四个点和一条线。

第一个点(0,1)

即FPR=0, TPR=1,这意味着FN(False Negative)=0,并且FP(False Positive)=0。意味着这是一个**完美的分类器**,它将所有的样本都正确分类。

第二个点(1,0)

即FPR=1,TPR=0,意味着这是一个**最糟糕的分类器**,因为它成功避开了所有的正确答案。

第三个点(0,0)

即FPR=TPR=0,即FP(False Positive)=TP(True Positive)=0,可以发现该分类器**预测所有的样本都为负样本(Negative)**。

第四个点(1,1)

即FPR=TPR=1,分类器实际上**预测所有的样本都为正样本**。

经过以上分析,ROC曲线越接近左上角,该分类器的性能越好。

ROC曲线所覆盖的面积称为AUC(Area Under Curve),可以更直观的判断学习器的性能,AUC越大则性能越好。


2.10.12:如何画ROC曲线

下图是一个示例,图中共有20个测试样本,“Class”一栏表示每个测试样本真正的标签(P表示正样本,N表示负样本),“Score”表示每个测试样本属于正样本的概率。

绘制ROC曲线的步骤如下:

(1)假设已经得出一系列样本被划分为正类的概率,按照大小排序。

(2)从高到低,依次将“Score”值作为阈值threshold,当测试样本属于正样本的概率大于或等于这个threshold时,我们认为它为正样本,否则为负样本。举例来说,对于图中的第4个样本,其“Score”值为0.6,那么样本1,2,3,4都被认为是正样本,因为它们的“Score”值都大于等于0.6,而其他样本则都认为是负样本。

(3)每次选取一个不同的threshold,得到一组FPR和TPR,即ROC曲线上的一点。以此共得到20组FPR和TPR的值。

(4)根据上一步中的每个坐标点,画图。

注意:.8表示0.8,其余以此类推。

注意,这一节只是介绍了绘制ROC曲线的步骤,曲线上的点(即TPR&FPR)如何确定将在下一节介绍。


2.10.13:如何计算TPR,FPR

在上一节讲解如何绘制ROC曲线时,我们提到每次选取一个不同的阈值,得到一组FPR和TPR,那么二者究竟是如何计算的呢?也就是说我们如何画出ROC曲线上的一个点?处理步骤如下:

1、分析数据

样本数据 ytrue = [0, 0, 1, 1] ;每个测试样本属于正例的概率分别为 scores = [0.1, 0.4, 0.35, 0.8] ;

2、列表
样本预测属于P的概率(score)真实类别
y[0]0.1N
y[1]0.4N
y[2]0.35P
y[3]0.8P
3、将截断点依次取为score值,计算TPR和FPR

当截断点为0.1时

说明只要score>=0.1,它的预测类别就是正例。 因为4个样本的score都大于等于0.1,所以,所有样本的预测类别都为P。

scores = [0.1, 0.4, 0.35, 0.8];y_true = [0, 0, 1, 1];y_pred = [1, 1, 1, 1];

正例与反例信息如下:

正例反例
TP=2FN=0
FP=2TN=0

由此可得:TPR = TP/(TP+FN) = 1; FPR = FP/(TN+FP) = 1;

当截断点为0.35时

scores = [0.1, 0.4, 0.35, 0.8];y_true = [0, 0, 1, 1];y_pred = [0, 1, 1, 1];

正例与反例信息如下:

正例反例
TP=2FN=0
FP=1TN=1

由此可得:TPR = TP/(TP+FN) = 1; FPR = FP/(TN+FP) = 0.5;

当截断点为0.4时

scores = [0.1, 0.4, 0.35, 0.8];y_true = [0, 0, 1, 1];y_pred = [0, 1, 0, 1];

正例与反例信息如下:

正例反例
TP=1FN=1
FP=1TN=1

由此可得:TPR = TP/(TP+FN) = 0.5; FPR = FP/(TN+FP) = 0.5;

当截断点为0.8时

scores = [0.1, 0.4, 0.35, 0.8];y_true = [0, 0, 1, 1];y_pred = [0, 0, 0, 1];

正例与反例信息如下:

正例反例
TP=1FN=1
FP=0TN=2

由此可得:TPR = TP/(TP+FN) = 0.5; FPR = FP/(TN+FP) = 0;

4、根据TPR、FPR值,以FPR为横轴,TPR为纵轴画图

现在根据上述内容,即可分析表2-13对应的ROC曲线了。

首先我们以0.9为阈值,对应的正例与反例信息如下:

正例反例
TP=1FN=9
FP=0TN=10

由此可得:TPR = TP/(TP+FN) = 0.1; FPR = FP/(TN+FP) = 0;

此处仅举一例,实际操作过程中,可以由软件自动完成绘图,我们只需要清楚原理即可。


2.10.14:如何计算AUC

(1)将坐标点按照横坐标FPR排序 。

(2)计算第 i 个坐标点和第 i+1 个坐标点的间距dx 。

(3) 获取第 i 或者 i+1 个坐标点的纵坐标 y 。

(4)计算面积微元 ds=ydx 。

(5)对面积微元进行累加,得到AUC。


2.10.15:直观理解AUC

AUC是衡量二分类模型优劣的一种评价指标,表示正例排在负例前面的概率。其他评价指标有精度、正确率、召回率,而AUC比这三者更为常用。

一般在分类模型中,预测结果都是以概率的形式表现,如果要计算准确率,通常都会手动设置一个阈值来将对应的概率转化为类别,这个阈值的选取,很大程度上也会影响模型正确率的计算。

下图展现了三种AUC的值:

举例

现在假设有一个训练好的二分类器对10个正负样本(正例5个,负例5个)预测,得分按高到低排序得到的最好预测结果为[1, 1, 1, 1, 1, 0, 0, 0, 0, 0],即5个正例均排在5个负例前面,正例排在负例前面的概率为100%。

然后绘制其ROC曲线,由于是10个样本,除去原点我们需要描10个点,如下:

描点方式按照样本预测结果的得分高低从左至右开始遍历。从原点开始,每遇到1便向y轴正方向移动y轴最小步长1个单位,这里是1/5=0.2;每遇到0则向x轴正方向移动x轴最小步长1个单位,这里也是0.2。不难看出,上图的AUC等于1,印证了正例排在负例前面的概率的确为100%。

假设预测结果序列为[1, 1, 1, 1, 0, 1, 0, 0, 0, 0]。首先我们以第4个数据对应的score为阈值,则对应的正例与反例信息如下:

正例反例
TP=4FN=1
FP=0TN=5

由此可得:TPR = TP/(TP+FN) = 0.8; FPR = FP/(TN+FP) = 0;

然后我们以第5个数据对应的score为阈值,则对应的正例与反例信息如下:

正例反例
TP=4FN=1
FP=1TN=4

由此可得:TPR = TP/(TP+FN) = 0.8; FPR = FP/(TN+FP) = 0.2;

上面标注的两个点进行了举例说明,如果还看不明白的同学建议再去看一看前面的ROC曲线绘制步骤,你们的问题出在没有正确理解“Score从高到低排列”

计算上图的AUC为0.96与计算正例与排在负例前面的概率0.8 × 1 + 0.2 × 0.8 = 0.96相等,而左上角阴影部分的面积则是负例排在正例前面的概率0.2 × 0.2 = 0.04。

假设预测结果序列为[1, 1, 1, 0, 1, 0, 1, 0, 0, 0]。

计算上图的AUC为0.88与计算正例与排在负例前面的概率0.6 × 1 + 0.2 × 0.8 + 0.2 × 0.6 = 0.88相等,左上角阴影部分的面积是负例排在正例前面的概率0.2 × 0.2 × 3 = 0.12。


2.10.16:为什么使用Roc和Auc评价分类器

模型有很多评估方法,为什么还要使用ROC和AUC呢?

因为ROC曲线有个很好的特性:当测试集中的正负样本的分布变换的时候,ROC曲线能够保持不变。在实际的数据集中经常会出现样本类不平衡,即正负样本比例差距较大,而且测试数据中的正负样本也可能随着时间变化。


2.10.17:代价敏感错误率与代价曲线

1、代价矩阵

不同的错误会产生不同代价。以二分法为例,设置代价矩阵如下:

当判断正确的时候,值为0,不正确的时候,分别为 Cost_{01} 和 Cost_{10} 。

  • Cost_{10} :表示实际为反例但预测成正例的代价。
  • Cost_{01} :表示实际为正例但是预测为反例的代价。
2、代价敏感错误率

代价敏感错误率=样本中由模型得到的错误值与代价乘积之和 / 总样本。其数学表达式为:

E(f;D;cost)=\frac{1}{m}\left( \sum_{x_{i} \in D^{+}}({f(x_i)\neq y_i})\times Cost_{01}+ \sum_{x_{i} \in D^{-}}({f(x_i)\neq y_i})\times Cost_{10}\right)

D{+}、D{-} 分别代表样例集的正例子集和反例子集, x 是预测值, y 是真实值。

3、代价曲线

在均等代价时,ROC曲线不能直接反应出模型的**期望总体代价**,而代价曲线可以。

代价曲线横轴为[0,1]的正例函数代价: P(+)Cost=\frac{p*Cost_{01}}{p*Cost_{01}+(1-p)*Cost_{10}} ,其中 p 是样本为正例的概率。

代价曲线纵轴为[0,1]的归一化代价: Cost_{norm}=\frac{FNR*p*Cost_{01}+FNR*(1-p)*Cost_{10}}{p*Cost_{01}+(1-p)*Cost_{10}} ,其中FPR为假阳率,FNR=1-TPR为假阴率。

注:ROC每个点,对应代价平面上一条线。例如,ROC上(TPR,FPR),计算出FNR=1-TPR,在代价平面上绘制一条从(0,FPR)到(1,FNR)的线段,面积则为该条件下期望的总体代价。所有线段下界面积,所有条件下学习器的期望总体代价。


2.10.18:模型有哪些比较检验方法

(1)正确性分析

模型稳定性分析,稳健性分析,收敛性分析,变化趋势分析,极值分析等。

(2)有效性分析

误差分析,参数敏感性分析,模型对比检验等。

(3)有用性分析

关键数据求解,极值点,拐点,变化趋势分析,用数据验证动态模拟等。

(4)高效性分析

时空复杂度分析与现有进行比较等。


2.10.19:类别不平衡的产生原因及解决方法

类别不平衡(class-imbalance)是指**分类任务中不同类别的训练样例数目差别很大**的情况。

1、产生原因

分类学习算法通常都会**假设不同类别的训练样例数目基本相同**。如果不同类别的训练样例数目差别很大,则会影响学习结果,测试结果变差。例如二分类问题中有998个反例,正例有2个,那学习方法只需返回一个永远将新样本预测为反例的分类器,就能达到99.8%的精度;然而这样的分类器没有价值。

防止类别不平衡对学习造成的影响,在构建分类模型之前,需要对分类不平衡性问题进行处理。

2、主要解决方法

(1)扩大数据集

增加包含小类样本数据的数据,更多的数据能得到更多的分布信息。

(2)对大类数据欠采样

减少大类数据样本个数,使与小样本个数接近。

缺点:欠采样操作时若随机丢弃大类样本,可能会丢失重要信息。

代表算法:EasyEnsemble。其思想是利用集成学习机制,将大类划分为若干个集合供不同的学习器使用。相当于对每个学习器都进行欠采样,但对于全局则不会丢失重要信息。

(3)对小类数据过采样

过采样:对小类的数据样本进行采样来增加小类的数据样本个数。

代表算法:SMOTE和ADASYN。

SMOTE:通过对训练集中的小类数据进行插值来产生额外的小类样本数据。

新的少数类样本产生的策略:对每个少数类样本a,在a的最近邻中随机选一个样本b,然后在a、b之间的连线上随机选一点作为新合成的少数类样本。

ADASYN:根据学习难度的不同,对不同的少数类别的样本使用加权分布,对于难以学习的少数类的样本,产生更多的综合数据。 通过减少类不平衡引入的偏差和将分类决策边界自适应地转移到困难的样本两种手段,改善了数据分布。

(4)使用新评价指标

如果当前评价指标不适用,则应寻找其他具有说服力的评价指标。比如准确度这个评价指标在类别不均衡的分类任务中并不适用,甚至进行误导。因此在类别不均衡分类任务中,需要使用更有说服力的评价指标来对分类器进行评价。

(5)选择新算法

不同的算法适用于不同的任务与数据,应该使用不同的算法进行比较。

(6)数据代价加权

例如当分类任务是识别小类,那么可以对分类器的小类样本数据增加权值,降低大类样本的权值,从而使得分类器将重点集中在小类样本身上。

(7)转化问题思考角度

例如在分类问题时,把小类的样本作为异常点,将问题转化为异常点检测或变化趋势检测问题。 异常点检测即是对那些罕见事件进行识别。变化趋势检测区别于异常点检测在于其通过检测不寻常的变化趋势来识别。

(8)将问题细化分析

对问题进行分析与挖掘,将问题划分成多个更小的问题,看这些小问题是否更容易解决。


2.11:决策树


未完待续

  • 11
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值