当前位置: 首页 > 科技观察

机器学习分类问题:九种常用评价指标总结

时间:2023-03-18 17:53:31 科技观察

机器学习的评价是机器学习的核心部分。本文总结了分类问题常用的评价指标。分类问题的评估指标在这里,将讨论可用于评估分类问题预测的各种性能指标。1.混淆矩阵这是衡量分类问题性能的最简单方法,其中输出可以是两种或多种类型。混淆矩阵无非是一张表格,有两个维度,“实际”和“预测”,此外,两个维度都有“真阳性(TP)”、“真阴性(TN)”、“假阳性(FP))”和“FalseNegative(FN)”,如下:与混淆矩阵相关的术语解释如下:TruePositive(TP)?当数据点的实际类别和预测类别均为1TrueNegative(TN)?当FalsePositive(FP)?当数据点的实际类别为0时,数据点的预测类别为1FalseNegative(FN)?当数据点的实际类别为1时,预测类别为数据点类别为0。我们可以使用sklearn的混淆矩阵函数confusion_matrix来计算分类模型混淆矩阵的度量。2.准确率是分类算法最常用的性能指标。它可以定义为正确预测的数量与所有预测的比率。我们可以通过下面的公式通过混淆矩阵轻松计算:我们可以使用sklearn的accuracy_score函数来计算分类模型的准确度指标3.Precisionprecision定义为ML模型的预测结果:数量ofpredictedpositivesamples除以所有predictedpositive样本数:4.Recallrecall定义为ML模型的预测结果:正确预测的正样本数除以所有实际正样本数:5.Specificityspecificity定义为ML模型的预测结果:正确预测的负样本数除以所有实际负样本数:6。支持度可以定义为每一类目标值对应的样本数。7.F1分数该分数将为我们提供准确率和召回率的调和平均值。从数学上讲,F1分数是精确率和召回率的加权平均值。F1的最佳值为1,最差值为0。我们可以使用以下公式计算F1分数:F1分数对精确率和召回率的相对贡献是相等的。我们可以使用sklearn的classification_report函数,用于获取分类模型的分类报告的指标。8.AUC(AreaUnderROCcurve)AUC(AreaUndertheCurve)-ROC(ReceiverOperatingCharacteristics)是基于不同阈值的分类问题的性能指标。顾名思义,ROC是一条概率曲线,AUC衡量的是可分离性。简单来说,AUC-ROC指标会告诉我们模型区分类别的能力,AUC越高,模型越好。从数学上讲,通过绘制不同阈值下的TPR(真阳性率),即特异性或召回率和FPR(假阳性率),下图是ROC,AUC,y轴为TPR,x轴为FPR-axis:我们可以使用sklearn的roc_auc_score函数来计算AUC-ROC指标。9.LOGLOSS(LogarithmicLoss)也叫逻辑回归损失或交叉熵损失。它基本上是在概率估计上定义的,衡量输入是0到1之间的概率值的分类模型的性能。通过精确区分可以更清楚地理解它。正如我们所知,准确性是我们模型中预测的计数(预测值=实际值),而对数损失是我们预测中的不确定性量,基于它与实际标签的差异。借助对数损失值,我们可以更准确地了解模型的性能。我们可以使用sklearn的log_loss函数。示例下面是Python中的一个简单方法,它将让我们了解如何在二元分类模型上使用上述性能指标。从sklearn.metrics导入confusion_matrix从sklearn.metrics从sklearn.metrics导入accuracy_score从sklearn.metrics导入classification_report从sklearn.metrics导入roc_auc_score从sklearn.metrics导入log_lossX_actual=[1,1,0,1,0,0,1,0,0,0]Y_predic=[1,0,1,1,1,0,1,1,0,0]results=confusion_matrix(X_actual,Y_predic)print('混淆矩阵:')print(results)print('准确度分数是',accuracy_score(X_actual,Y_predic))print('ClassificationReport:')print(classification_report(X_actual,Y_predic))print('AUC-ROC:',roc_auc_score(X_actual,Y_predic))print('LOGLOSS值为',log_loss(X_actual,Y_predic))输出:ConfusionMatrix:[[33][13]]AccuracyScoreis0.6ClassificationReport:precisionrecallf1-scoresupport00.750.500.60610.500.750.604microavg0.600.600.6010macroavg0.620.620.6010加权平均值0.650.600.6010AUC-ROC:0.625LOGLOSS值为13.815750437193334