Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Scikit学习:roc_auc_分数_Python_Machine Learning_Scikit Learn_Auc - Fatal编程技术网

Python Scikit学习:roc_auc_分数

Python Scikit学习:roc_auc_分数,python,machine-learning,scikit-learn,auc,Python,Machine Learning,Scikit Learn,Auc,我正在使用scikit学习中的roc_auc_分数函数来评估我的模型性能。 但是,无论我使用predict()还是predict_proba(),我都会得到不同的值 你能给我一些建议吗 提前感谢首先看看预测和预测概率之间的区别。前者预测特征集的类别,后者预测各种类别的概率 您正在看到y_test_predicted的二进制格式中隐含的舍入误差的影响。y_test_predicted由1和0组成,其中as p_pred由0和1之间的浮点值组成。roc_auc_评分程序改变阈值并生成真阳性率和假阳性

我正在使用scikit学习中的roc_auc_分数函数来评估我的模型性能。 但是,无论我使用predict()还是predict_proba(),我都会得到不同的值

你能给我一些建议吗


提前感谢

首先看看预测和预测概率之间的区别。前者预测特征集的类别,后者预测各种类别的概率

您正在看到y_test_predicted的二进制格式中隐含的舍入误差的影响。y_test_predicted由1和0组成,其中as p_pred由0和1之间的浮点值组成。roc_auc_评分程序改变阈值并生成真阳性率和假阳性率,因此评分看起来非常不同

考虑以下情况:

y_test           = [ 1, 0, 0, 1, 0, 1, 1]
p_pred           = [.6,.4,.6,.9,.2,.7,.4]
y_test_predicted = [ 1, 0, 1, 1, 0, 1, 0]
请注意,ROC曲线是通过考虑所有截止阈值生成的。现在考虑0.65的阈值… p_pred案例给出了:

TPR=0.5, FPR=0, 
TPR=.75 FPR=.25.  

y_检验_预测情况给出:

TPR=0.5, FPR=0, 
TPR=.75 FPR=.25.  
您可能会看到,如果这两个点不同,那么两条曲线下的面积也会非常不同

但要真正理解它,我建议看看ROC曲线本身来帮助理解这种差异


希望这有帮助

y检验预测的情况应该是:
TPR=.75 FPR=.33。
股息应该包括FPs,而不仅仅是TNs:FPR=FP/(FP+TN)。对不起,也许我只是误解了你。如果你的意思是我们比较y_检验和预测的y_检验,那么TN=2,FP=1。