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

相关推荐
胖哥真不错1 分钟前
数据分享:汽车测评数据
python·机器学习·数据分享·汽车测评数据·car evaluation
明月看潮生31 分钟前
青少年编程与数学 02-015 大学数学知识点 07课题、数值分析
机器学习·青少年编程·数值分析·编程与数学
u0103731061 小时前
Django异步执行任务django-background-tasks
后端·python·django
杰瑞学AI2 小时前
LeetCode详解之如何一步步优化到最佳解法:21. 合并两个有序链表
数据结构·python·算法·leetcode·链表·面试·职场和发展
攻城狮7号2 小时前
Python爬虫第5节-urllib的异常处理、链接解析及 Robots 协议分析
爬虫·python·python爬虫
java1234_小锋2 小时前
一周学会Pandas2 Python数据处理与分析-Jupyter Notebook安装
开发语言·python·jupyter·pandas
skywalk81632 小时前
unittest测试模块:Python 标准库中的单元测试利器
开发语言·python·unittest
图灵猫2 小时前
2010年-全国大学生数学建模竞赛(CUMCM)试题速浏、分类及浅析
数学建模·分类·数据挖掘
从零开始学习人工智能3 小时前
深入理解矩阵乘积的导数:以线性回归损失函数为例
机器学习
小小鸭程序员3 小时前
在Spring Boot中实现图片上传和修改
java·数据库·python·mysql·spring