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

相关推荐
社会零时工33 分钟前
【python】基于pycharm的海康相机SDK二次开发
python·opencv·pycharm·相机
火车叼位37 分钟前
从 pip 到 pipx:隔离、轻量、跨平台的 Python 工具管理
python
魔都吴所谓44 分钟前
【无标题】
python
小码编匠1 小时前
一站式 YOLO 视觉模型训练管理平台
后端·python·计算机视觉
青钰未央1 小时前
23、Python字符串核心机制解析:驻留原理、对象比较与成员检测实战
python·改行学it
飞翔的佩奇1 小时前
【完整源码+数据集+部署教程】甘蔗叶片病害检测系统源码和数据集:改进yolo11-GhostDynamicConv
python·yolo·计算机视觉·毕业设计·数据集·yolo11·甘蔗叶片病害检测
工业互联网专业2 小时前
基于python的内蒙古旅游景点数据分析系统-Flask+spider+vue
vue.js·python·flask·毕业设计·源码·课程设计·内蒙古旅游景点数据分析系统
漫谈网络2 小时前
pysnmp模块中 GET、SET、WALK操作详细分步解析
python·pysnmp
牛马的人生2 小时前
入门Scikit-learn:让机器学习像呼吸一样自然!
python·其他·机器学习·scikit-learn
仙人掌_lz2 小时前
四大LLM 微调开源工具包深度解析
人工智能·python·ai·开源·llm