是否有某种方法可以报告sklearn模型二进制分类模型的期望值?在之前的一个问题中,有人推荐了predict_proba
。我期望的输出类似于xgboost包"objective": "binary:logistic"
参数。然而,这似乎并没有产生预期的结果。我的Y值是谨慎的。
我被predict_proba
的输出弄糊涂了。由于我只有一个目标,所以我希望返回一个单列预测。但是,这将返回两列,并且这些列的总和为一。这些值似乎与模型实际预测的值不一致:
In [27]: modl.predict(X_test)
Out[27]: array([0, 0, 0, ..., 0, 0, 0])
In [28]: modl.predict_proba(X_test)
Out[28]:
array([[ 0.6, 0.4],
[ 0.7, 0.3],
[ 1. , 0. ],
...,
[ 1. , 0. ],
[ 0.9, 0.1],
[ 0.8, 0.2]])
predict_proba
输出数组中的列是分类器预测不同标签的概率。在您的案例中,您已经构建了一个二进制分类器,因此第一列modl.predict_proba(X_test)[:,0]
是标签为0
的概率,第二列modl.predict_proba(X_test)[:,1]
是标签为1
的概率。