【Python机器学习】分类器的不确定估计——预测概率

        predict_proba的输出是每个类别的概率,通常比decision_function的输出更容易理解,对于二分类问题,它的形状始终是(n_samples,2)。

import mglearn.tools
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.datasets import make_circles
import numpy as np
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt

X,y=make_circles(noise=0.25,factor=0.5,random_state=1)

y_named=np.array(['type0','type1'])[y]
#所有数组的划分方式都是一致的
X_train,X_test,y_train_named,y_test_named,y_train,y_test=train_test_split(
    X,y_named,y,random_state=0
)
#梯度提升模型
gbrt=GradientBoostingClassifier(random_state=0)
gbrt.fit(X_train,y_train_named)

print('predict_proba 形状:{}'.format(gbrt.predict_proba(X_test).shape))
print('predict_proba:{}'.format(gbrt.predict_proba(X_test)[:5]))

        可以从结果看到,每行的第一个元素是第一个类别的估计概率,第二个元素是第二个类别的估计概率,两个类别的概率之和始终为1.

        从结果可以看到,分类器对大部分点的置信程度都是相对比较高的,不确定度大小实际反映了数据依赖于模型和参数的不确定度。如果模型给出的不确定度符合实际情况,那么这个模型被称为校正模型,在校正模型中,如果预测有70%的确定度,那么它在70%的情况下正确。

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值