假设我创建了一个模型,并且我的目标变量是0
, 1
or 2
。看来如果我使用predict
,答案是 0、1 或 2。但是如果我使用predict_proba
,我得到一行,每行 3 列,如下所示,例如
model = ... Classifier # It could be any classifier
m1 = model.predict(mytest)
m2= model.predict_proba(mytest)
# Now suppose m1[3] = [0.6, 0.2, 0.2]
假设我同时使用预测和predict_proba
。如果在索引 3 中,我得到上述结果,结果为predict_proba
,在预测结果的索引 3 中我应该看到 0。是这样吗?我想了解如何使用两者predict
and predict_proba
同一模型上的相互关联。
-
predict()
用于预测实际班级(在你的情况下之一0
, 1
, or 2
).
-
predict_proba()
用于预测类别概率
从您共享的示例输出中,
-
predict()
将输出类0
因为类别概率为0
is 0.6.
-
[0.6, 0.2, 0.2]
的输出是predict_proba
这只是表示类的类概率0
, 1
, and 2
are 0.6
, 0.2
, and 0.2
分别。
现在正如文档提到的predict_proba
,生成的数组根据您使用的标签进行排序:
所有类的返回估计值按标签排序
类。
因此,在您的班级标签是的情况下[0, 1, 2]
,相应的输出predict_proba
将包含相应的概率。0.6
是实例被分类为的概率0
and 0.2
是实例被分类为的概率1
and 2
分别。
更全面的解释可以参考文章scikit-learn中predict()和predict_proba()有什么区别 https://towardsdatascience.com/predict-vs-predict-proba-scikit-learn-bdc45daa5972 on TDS.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)