- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试使用 sklearn.metrics.roc_auc_score
使用以下方法计算 ROC 曲线下的面积:
roc_auc = sklearn.metrics.roc_auc_score(actual, predicted)
其中 actual
是一个带有真实分类标签的二元向量,predicted
是一个带有我的分类器预测的分类标签的二元向量。
但是,我得到的 roc_auc
的值与准确度值(标签被正确预测的样本的比例)完全相似。这不是一次性的事情。我在不同的参数值上尝试我的分类器,每次我都得到相同的结果。
我在这里做错了什么?
最佳答案
这是因为您传递的是分类器的决策而不是它计算的分数。有一个 question on this on SO recently以及对 scikit-learn
的相关拉取请求。
ROC 曲线的点(及其下方的区域)是您研究分类阈值变化时的精确召回权衡。默认情况下,在二进制分类任务中,如果分类器的分数是 > 0.5
,则预测 class1
,否则预测 class0
。当您更改该阈值时,您会得到一条类似于 this 的曲线。 .曲线越高(曲线下方的面积越大),分类器越好。但是,要获得此曲线,您需要访问分类器的分数,而不是其决策。否则,无论决策阈值是多少,决策都保持不变,并且 AUC 退化为准确性。
您使用的是哪个分类器?
关于python - scikit-learn roc_auc_score() 返回精度值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22318922/
我想计算我的分类器的 AUC、精确度和准确度。我在做监督学习: 这是我的工作代码。此代码适用于二进制类,但不适用于多类。请假设您有一个包含二进制类的数据框: sample_features_dataf
我正在对现有数据框执行 k-fold XV,我需要获得 AUC 分数。问题是 - 有时测试数据只包含 0,而不包含 1! 我尝试使用 this例如,但数字不同: import numpy as np
我正在使用 scikit-learn 中的 roc_auc_score 函数来评估我的模型性能。但是,无论我使用 predict() 还是 predict_proba(),我都会得到不同的值 p_pr
我正在尝试使用 sklearn.metrics.roc_auc_score 使用以下方法计算 ROC 曲线下的面积: roc_auc = sklearn.metrics.roc_auc_score(a
我很难理解 scikit-learn 中 roc_auc_score() 和 auc() 之间的区别(如果有的话)。 我想预测具有不平衡类的二进制输出(Y=1 约为 1.5%)。 分类器 model_
我正在训练一个 RandomForestClassifier (sklearn) 来预测信用卡欺诈。然后当我测试模型并检查 rocauc 分数时,当我使用 roc_auc_score 时会得到不同的值
我想评估我的机器学习模型。我使用 roc_auc_score() 计算了 ROC 曲线下的面积,并使用 sklearn 的 plot_roc_curve() 函数绘制了 ROC 曲线。在第二个函数中,
我正在尝试使用 sklearn 的 roc_auc_score() 函数计算多类问题的 AUC 分数。 我有形状为 [n_samples,n_classes] 的预测矩阵和形状为 [n_samples
我正在尝试确定 roc_auc_score用于验证集上的拟合模型。 我看到有关函数输入的一些相互矛盾的信息。 Documentation说: "y_score 类似数组的形状 (n_samples,)
刚接触 sklearn,请保持温柔。使用不同的 roc_auc 评分计算客户流失率,我得到 3 个不同的分数。分数 1 和 3 接近,分数与分数 2 之间存在显着差异。感谢您指导为什么会出现这种差异以
我对 cross_val_score 评分指标“roc_auc”和我可以直接导入和调用的 roc_auc_score 之间的区别感到困惑。 文档 ( http://scikit-learn.org/s
在某些情况下, tf.metrics.auc 产生的值与 sklearn.metrics.roc_auc_score 非常不同。 我无法确定这种情况的特殊性是什么,但我能够获得一个可重现的例子: 代码
我正在使用 逻辑回归 进行预测。我的预测是 0 和 1。在根据给定数据训练我的模型后,以及在训练重要特征时,即 X_important_train 请参见屏幕截图。我得到大约 70% 的分数,但是当我
我正在使用分层 10 折交叉验证来寻找模型,该模型从具有最高 auc 的 X(X 有 34 个标签)预测 y(二元结果)。我设置了 GridSearchCV: log_reg = LogisticRe
我是一名优秀的程序员,十分优秀!