sklearn.metrics中的评估方法介绍

1. sklearn.metrics.roc_curve(true_y. pred_proba_score, pos_labal)

计算roc曲线,roc曲线有三个属性:fpr, tpr,和阈值,因此该函数返回这三个变量,l例如

import numpy as np
from sklearn.metrics import roc_curve
y = np.array([1,1,2,2])
pred = np.array([0.1, 0.4, 0.35, 0.8])
fpr, tpr, thresholds = roc_curve(y, pred, pos_label=2)
fpr      # array([ 0. ,  0.5,  0.5,  1. ])
tpr      # array([ 0.5,  0.5,  1. ,  1. ])
thresholds      #array([ 0.8 ,  0.4 ,  0.35,  0.1 ])
from sklearn.metrics import auc
metrics.auc(fpr, tpr)
0.75


2. sklearn.metrics.auc(x, y, reorder=False):

计算AUC值,其中x,y分别为数组形式,根据(xi, yi)在坐标上的点,生成的曲线,然后计算AUC值;

3. sklearn.metrics.roc_auc_score(true_y, pred_proba_y)

直接根据真实值(必须是二值)、预测值(可以是0/1, 也可以是proba值)计算出auc值,中间过程的roc计算省略

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
在使用机器学习模型进行预测任务时,评估模型的性能是非常重要的。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) ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值