关于对随机森林接口predict_proba()的个人理解

August the 21th 2022 Sunday
首先,
来看一下接口 predict,
拿红酒数据为例:
rfc.predict(Xtest)
===>
array([0, 2, 0, 0, 2, 2, 1, 2, 1, 1, 1, 0, 1, 2, 2, 0, 2, 2, 1, 2, 1, 2,
1, 1, 2, 0, 2, 0, 1, 1, 1, 1, 0, 2, 2, 0, 2, 0, 1, 1, 1, 1, 0, 0,
2, 0, 0, 1, 1, 0, 0, 1, 0, 0])

predict 是训练后返回的预测结果,是标签值(拿红酒wine的例子来说,就是标签值=0,标签值=1,标签值=2 的 那个标签值,也就是上面给出的 预测结果中的 0,1,2)。
接下来看,接口 predict_proba
predict_proba返回的是一个 n 行 k 列的数组(wine的例子中,只有三个标签,所以k=3,又因为 测试集Xtest的shape是(54, 3),所以n=54),
第 i 行 第 j 列上的数值是模型预测 第 i 个预测样本为某个标签的概率(以下面的输出为例,第一行表示,第一个样本,是标签=0 的可能性 为1 ,也就是预测结果百分百是 标签=0 ,没有任何其他可能性 ,当然这个输出([1. , 0. , 0. ])是 随机森林对所有的树给出的 预测 ,做了一个平均后的值,称之为 predict_proba ,probably ),并且每一行的概率和为1。
rfc.predict_proba(Xtest)
===>
array([[1. , 0. , 0. ],
[0. , 0.08, 0.92],
[1. , 0. , 0. ],

参考文献:sklearn中predict()与predict_proba()用法区别
from cnblogs

你可能感兴趣的:(心得,笔记,随机森林,算法,机器学习)