【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)

相关推荐
j七七3 分钟前
5分钟搭微信自动回复机器人5分钟搭微信自动回复机器人
运维·服务器·开发语言·前端·python·微信
lgbisha16 分钟前
Dify异步接口调用优化实践:解决长时任务处理与网络超时问题
人工智能·python·ai·语言模型
中达瑞和-高光谱·多光谱19 分钟前
无人机多光谱遥感在水生植被精细分类中的应用
分类·数据挖掘·无人机
Hs_QY_FX26 分钟前
幸福指数数据分析与预测:从数据预处理到模型构建完整案例
开发语言·python·机器学习
虫无涯28 分钟前
解锁 Playwright 自动化测试:一篇教程入门WebUI自动化测试【入门级】
python·单元测试·测试
马尚道1 小时前
【蜗牛学院】 轻松入门Python数据分析 - 带源码课件
python
深度学习lover1 小时前
<项目代码>yolo螺丝螺母识别<目标检测>
人工智能·python·深度学习·yolo·目标检测·计算机视觉·螺丝螺母识别
程序员大雄学编程1 小时前
「用Python来学微积分」18. 微分
开发语言·python·数学·微积分
勘察加熊人2 小时前
python+ai智能根据doc教案文档生成ppt
人工智能·python·powerpoint
hrrrrb2 小时前
【机器学习】监督学习
人工智能·学习·机器学习