假定在一个k分类问题中,测试集中共有n个样本。则:
predict返回的是一个大小为n的一维数组,一维数组中的第i个值为模型预测第i个预测样本的标签;
predict_proba返回的是一个n行k列的数组,第i行第j列上的数值是模型预测第i个预测样本的标签为j的概率。此
时每一行的和应该等于1。
举个例子:
# 返回预测标签
array([1, 0, 1])
# 返回预测属于某标签的概率
array([[ 0.43348191, 0.56651809],[ 0.84401838, 0.15598162],[ 0.13147498, 0.86852502]])
预测[2,2,2]的标签是0的概率为0.43348191,1的概率为0.56651809
预测[3,2,6]的标签是0的概率为0.84401838,1的概率为0.15598162
预测[1,7,4]的标签是0的概率为0.13147498,1的概率为0.86852502
所以,若希望预测结果直接是某预测标签,则用predict
若希望预测结果是标签的概率则用predict_proba