Sklearn.metrics评估方法介绍

在介绍指标之前,先回顾一下很重要的四个概念,可以说指标总是围绕着这四个来计算的。

真实 1 真实 0
预测 1 true positive false positive
预测 0 false negative true negative

记忆小技巧:true/false 后面的pos or neg与预测值有关,预测为1就是positive,为0就是negative,然后如果真实值和预测值一样,那就是true,不一样就是false。

Precision: tp/tp+fp 在所有预测1中有多少预测是正确的 针对预测1
recall: tp/tp+fn 在所有真实 1中有多少预测是正确的 针对真实值1
accuracy: tp+tn/tp+tn+fp+fn 所有预测正确的 针对全部样本
F-score: (1+P^ 2 ) * (precisionrecall)/P^2precision+recall

当P=1时 就是F1 score,此时recall和precision都很重要,权重相同
当P=2时 就是F2 score&#

  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用机器学习模型进行预测任务时,评估模型的性能是非常重要的。scikit-learn(sklearn)是一个常用的Python机器学习库,提供了许多评估模型性能的工具。下面介绍几个常用的评估指标和如何使用sklearn.metrics进行评估。 1. 混淆矩阵 混淆矩阵是评估分类模型性能的基本工具。它是一个N x N的矩阵,N表示分类的数目。对于二分类问题,混淆矩阵如下所示: | | 预测为正例 | 预测为反例 | | --- | --- | --- | | 真实为正例 | TP | FN | | 真实为反例 | FP | TN | 其中,TP表示真正例(True Positive)、FN表示假反例(False Negative)、FP表示假正例(False Positive)、TN表示真反例(True Negative)。 使用sklearn.metrics中的confusion_matrix函数可以方便地计算混淆矩阵。例如,假设有一个二分类模型预测结果为y_pred,真实标签为y_true,可以使用以下代码计算混淆矩阵: ``` from sklearn.metrics import confusion_matrix confusion_matrix(y_true, y_pred) ``` 2. 准确率、召回率和F1值 准确率、召回率和F1值是三个常用的评估指标。它们的计算公式如下: 准确率(Accuracy):(TP + TN) / (TP + FP + TN + FN) 召回率(Recall):TP / (TP + FN) F1值:2 * Precision * Recall / (Precision + Recall) 其中,Precision表示精确率,定义为TP / (TP + FP)。 sklearn.metrics中提供了accuracy_score、precision_score、recall_score和f1_score函数可以方便地计算这些指标。例如,可以使用以下代码计算准确率、召回率和F1值: ``` from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score accuracy = accuracy_score(y_true, y_pred) precision = precision_score(y_true, y_pred) recall = recall_score(y_true, y_pred) f1 = f1_score(y_true, y_pred) ``` 3. ROC曲线和AUC值 ROC曲线是另一个常用的评估分类模型性能的工具。ROC曲线是以假正例率(False Positive Rate,FPR)为横轴,真正例率(True Positive Rate,TPR)为纵轴绘制的曲线。使用sklearn.metrics中的roc_curve函数可以方便地计算ROC曲线。例如,可以使用以下代码计算ROC曲线: ``` from sklearn.metrics import roc_curve fpr, tpr, thresholds = roc_curve(y_true, y_pred) ``` AUC(Area Under Curve)是ROC曲线下的面积,是一个介于0和1之间的值,AUC值越大,模型性能越好。使用sklearn.metrics中的roc_auc_score函数可以方便地计算AUC值。例如,可以使用以下代码计算AUC值: ``` from sklearn.metrics import roc_auc_score auc = roc_auc_score(y_true, y_pred) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值