【Python机器学习】多分类问题的不确定度

decision_function和predict_proba也适用于多分类问题。还是以鸢尾花数据集为例:

python 复制代码
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.datasets import make_circles,load_iris
import numpy as np
from sklearn.model_selection import train_test_split

iris=load_iris()
X_train,X_test,y_train,y_test=train_test_split(
    iris.data,iris.target,random_state=0
)

gbrt=GradientBoostingClassifier(learning_rate=0.01,random_state=0)
gbrt.fit(X_train,y_train)
print('决策函数结果的形状:{}'.format(gbrt.decision_function(X_test).shape))
print('决策函数结果:{}'.format(gbrt.decision_function(X_test)[:6,:]))

可以看到,对于多分类的情况, decision_function的形状为(n_samples,n_classes),每一列对应每个类别的"确定度分数",分数较高的类别可能性更大,得分较低的分类可能性小,可以找到每个数据点的最大元素,也就是预测结果:

python 复制代码
print('决策函数得分最高的分类:{}'.format(np.argmax(gbrt.decision_function(X_test),axis=1)))
print('模型预测结果:{}'.format(gbrt.predict(X_test)))

predict_proba输出的形状相同,也是(n_samples,n_classes),每个数据点的所有可能类别的概率相加为1:

python 复制代码
print('预测每个分类的概率:{}'.format(gbrt.predict_proba(X_test)[:6]))

总之,decision_function和predict_proba的形状始终相同,都是(n_samples,n_classes)

相关推荐
一枚小小程序员哈8 分钟前
基于python/django框架的车型识别系统
开发语言·python
计算机毕业设计木哥9 分钟前
基于大数据spark的医用消耗选品采集数据可视化分析系统【Hadoop、spark、python】
大数据·hadoop·python·信息可视化·spark·课程设计
2401_8238682210 分钟前
织构表面MATLAB仿真
人工智能·机器学习·matlab·信号处理
Debroon29 分钟前
CV 医学影像分类、分割、目标检测,之【腹腔多器官语义分割】项目拆解
目标检测·分类·数据挖掘
坫鹏加油站32 分钟前
【Python】支持向量机SVM
python·算法·机器学习·支持向量机
炒茄子38 分钟前
Python:如何处理WRF投影(LCC, 兰伯特投影)?
python
拉一次撑死狗1 小时前
机器学习实战·第三章 分类(2)
人工智能·机器学习·分类
傻啦嘿哟2 小时前
Python3解释器深度解析与实战教程:从源码到性能优化的全路径探索
开发语言·python
Emma歌小白2 小时前
groupby.agg去重后的展平列表通用方法flatten_unique
python
weixin_456904272 小时前
基于Tensorflow2.15的图像分类系统
人工智能·分类·tensorflow