sklearn 使用 prob_a 进行逻辑二元分类
sklearn use prob_a to for logistic binary classification
有什么方法可以报告 sklearn 模型二元分类模型的期望值吗?在有人推荐predict_proba
。我期待类似于 xgboost 包 "objective": "binary:logistic"
参数的输出。但是,这似乎不会产生预期的结果。我的 Y 火车价值观是谨慎的。
我对 predict_proba
的输出感到困惑。因为我只有一个 objective,所以我期望返回一个单列预测。但是,这 returns 两列,并且这些列总和为一。这些值似乎与模型实际预测的值不对应:
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
.
有什么方法可以报告 sklearn 模型二元分类模型的期望值吗?在predict_proba
。我期待类似于 xgboost 包 "objective": "binary:logistic"
参数的输出。但是,这似乎不会产生预期的结果。我的 Y 火车价值观是谨慎的。
我对 predict_proba
的输出感到困惑。因为我只有一个 objective,所以我期望返回一个单列预测。但是,这 returns 两列,并且这些列总和为一。这些值似乎与模型实际预测的值不对应:
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
.