use*_*396 6 python machine-learning python-3.x scikit-learn auc
我正在使用 KNN 构建两类分类模型
我尝试计算 auc_score
from sklearn.metrics import auc
auc(y_test, y_pred)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-183-980dc3c4e3d7> in <module>
----> 1 auc(y_test, y_pred)
~/.local/lib/python3.6/site-packages/sklearn/metrics/ranking.py in auc(x, y, reorder)
117 else:
118 raise ValueError("x is neither increasing nor decreasing "
--> 119 ": {}.".format(x))
120
121 area = direction * np.trapz(y, x)
ValueError: x is neither increasing nor decreasing : [1 1 1 ... 1 1 1].
Run Code Online (Sandbox Code Playgroud)
然后我用了roc_auc_score
from sklearn.metrics import roc_auc_score
roc_auc_score(y_test, y_pred)
0.5118361429056588
Run Code Online (Sandbox Code Playgroud)
为什么它在工作的auc
地方不起作用roc_auc_score
。我以为他们都是一样的?我在这里缺少什么?
这y_test
是实际目标值,y_pred
是我的预测值。
它们的实现和含义有所不同:
auc
:
使用梯形规则计算曲线下面积 (AUC)。这是一个通用函数,给定曲线上的点。
根据预测分数计算接收者操作特征曲线 (ROC AUC) 下的面积。
这意味着auc
比 更通用,尽管您可以从 fromroc_auc_score
获得相同的值。因此, 的输入参数是指定曲线的和坐标,而您的错误来自于所需输入类型的差异!此外,和必须按升序或降序排列。roc_auc_curve
auc
auc
x
y
x
y
归档时间: |
|
查看次数: |
9437 次 |
最近记录: |