问题描述
我正在尝试使用 sklearn 的 roc_auc_score 来评估两个模型。第一个是随机森林,第二个是 kNN 分类器。这是一个二元分类问题。但是我有一个问题,因为这两个模型的输出类型不同。
[0.1,0.4,0.6,...,0.9]
对于 kNN 分类器,结果是二进制的
[0,1,1]
基本事实是二进制值。
不知道是不是直接用
from sklearn.metrics import roc_auc_score
roc_auc_score(labels,predictions)
这两个模型的 roc_auc 值是否具有可比性?由于第一个是连续输出,另一个是离散输出?或者我也应该将第一个转换为二进制?像0.5以下的元素是0,0.5以上的元素是1?
解决方法
KNN 分类器有一个方法 predict_proba
,它应该返回概率 - 参见 documentation。