【Python机器学习】分类算法任务、分类模型评价指标详解(图文解释)

分类任务

设样本集S={s_1,s_2,…,s_m}包含m个样本,样本s_i=(x_i,y_i)包括一个实例x_i和一个标签y_i,实例由n维特征向量表示,即x_i=(x_i^(1),x_i^(2),…,x_i^(n))。

在学习过程,分类任务将样本集中的知识提炼出来,形成模型。完成分类任务的模型有决策函数模型、概率模型和神经网络模型三类。

【Python机器学习】分类算法任务、分类模型评价指标详解(图文解释)_第1张图片

决策函数分类模型建立了从实例特征向量到类别标签的映射Y=f(X),X是定义域,它是所有实例特征向量的集合,Y是值域,它是所有类别标签的集合。

概率分类模型建立了条件概率分布函数P ̂(Y|X),它反映了从实例特征向量到类别标签的概率映射。

神经网络分类模型建立了能正确反映实例特征向量与类别标签关系的神经网络N(S,W)。

 记测试样本为x=(x^(1),x^(2),…,x^(n))。在判别过程中,决策函数分类模型依据决策函数Y=f(X)给予测试样本x一个类标签y ̂;概率分类模型依据条件概率P ̂(Y|X)计算在给定x时取每一个类标签y ̂的条件概率值,取最大值对应的y ̂作为输出;神经网络分类模型将x馈入已经训练好的网络N(S,W),从输出得到类标签y ̂。

如果值域只有两个值,则该模型是二分类的,如果多于两个值,则该模型是多分类的。

分类模型的评价指标

1.准确率(Accuracy)

准确率是指在分类中,用模型对测试集进行分类,分类正确的样本数占总数的比例:

【Python机器学习】分类算法任务、分类模型评价指标详解(图文解释)_第2张图片

sklearn.metrics.accuracy_score(y_true,y_pred,normalize=True,sample_weight=None)

2.混淆矩阵(Confusion Matrix)

混淆矩阵是对分类的结果进行详细描述的矩阵,对于二分类则是一个2×2的矩阵,对于n分类则是n×n的矩阵。 

【Python机器学习】分类算法任务、分类模型评价指标详解(图文解释)_第3张图片 

可以由混淆矩阵计算出准确率Accuracy:

【Python机器学习】分类算法任务、分类模型评价指标详解(图文解释)_第4张图片

 3.平均准确率(Average Per-class Accuracy)

平均准确率的全称为:按类平均准确率,即计算每个类别的准确率,然后再计算它们的平均值。

平均准确率也可以通过混淆矩阵来计算:

【Python机器学习】分类算法任务、分类模型评价指标详解(图文解释)_第5张图片

4.精确率-召回率(Precision-Recall)

精确率-召回率包含两个评价指标,一般同时使用。精确率是指分类器分类正确(错误)的正样本的个数占该分类器所有分类为正(负)样本个数的比例。召回率是指分类器分类正确的正(负)样本个数占所有的正(负)样本个数的比例。

精确率是从预测的角度来看的,即预测为正(负)的样本中,预测成功的比例。召回率是从样本的角度来看的,即实际标签为正(负)的样本中,被成功预测的比例。准确率也是从样本的角度来看的,即所有样本中,正确预测的比例。与召回率不同,准确率是不分类别的。

在混淆矩阵中,预测为正的样本的精确率为:

预测为负的样本的精确率为:

 

真实正样本的召回率为: 

 

真实负样本的召回率为: 

5.F_1−score 

精确率与召回率实际上是一对矛盾的值,有时候单独采用一个值难以全面衡量算法,F_1−score试图将两者结合起来作为一个指标来衡量算法。F_1−score为精确率与召回率的调和平均值,即:

【Python机器学习】分类算法任务、分类模型评价指标详解(图文解释)_第6张图片

创作不易 觉得有帮助请点赞关注收藏~~~ 

你可能感兴趣的:(机器学习,python,分类,人工智能,神经网络)