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

相关推荐
追着梦的码怪12 分钟前
简单水印通过python去除
python·opencv
William数据分析15 分钟前
[Python数据可视化]Plotly Express: 地图数据可视化的魅力
python·信息可视化·plotly·数据分析
William数据分析18 分钟前
[Python数据可视化]探讨数据可视化的实际应用:三个案例分析
python·信息可视化·数据分析·数据可视化
qq_153214526422 分钟前
【2020工业图像异常检测文献】SPADE
图像处理·深度学习·神经网络·目标检测·机器学习·计算机视觉·视觉检测
MAR-Sky29 分钟前
在python爬虫中xpath方式提取lxml.etree._ElementUnicodeResult转化为字符串str类型
爬虫·python·xpath·数据类型转换
2301_7969821429 分钟前
网页打开时,下载的文件svg+xml类型有什么作用?
xml·python·html5
_.Switch32 分钟前
Python Web 架构设计与性能优化
开发语言·前端·数据库·后端·python·架构·log4j
圆弧YH42 分钟前
Python 二级考试
python
为啥不能修改昵称啊1 小时前
机器学习中求解模型参数的方法
人工智能·机器学习
程序员小羊!1 小时前
UI自动化测试(python)Web端4.0
前端·python·ui