朴素贝叶斯-概率损失衡量函数-1布里尔分数-2 对数似然函数LogLoss

一般情况下,布里尔分数主要用于二分类,相比SVC,SVC是强行使用sigmoid函数进行概率换算,所以它的概率不是很准确
朴素贝叶斯-概率损失衡量函数-1布里尔分数-2 对数似然函数LogLoss_第1张图片
关于数字识别这个样本,可以看到三个模型的概率预测 ,逻辑回归效果最好,支持向量机最差
可以观察到,逻辑回归的布里尔分数有着压倒性优势,SVC的效果明显弱于贝叶斯和逻辑回归(如同我们之前在SVC
的讲解中说明过的一样,SVC是强行利用sigmoid函数来压缩概率,因此SVC产出的概率结果并不那么可靠)。贝叶
斯位于逻辑回归和SVC之间,效果也不错,但比起逻辑回归,还是不够精确和稳定
二、对数似然函数LogLoss
对数损失只能用于分类评估,可以评估多分类的,函数里面本质要的是概率,因为它本身预测出来的就是概率

from sklearn.metrics import log_loss
from sklearn.svm import SVC
from sklearn.linear_model import LogisticRegression  as LR
logi=LR(C=1.,solver='lbfgs',max_iter=3000,multi_class="auto").fit(Xtrain,ytrain)
svc=SVC(kernel="linear",gamma=1).fit(Xtrain,ytrain)
gnb=GaussianNB().fit(Xtrain,ytrain)
prob=gnb.predict_proba(Xtest)
prob
#由于SVC的置信度并不是概率,为了可比性,我们需要将SVC的置信度“距离”归一化,压缩到[0,1]之间
svc_prob = (svc.decision_function(Xtest) -
svc.decision_function(Xtest).min())/(svc.decision_function(Xtest).max() -
svc.decision_function(Xtest).min())

朴素贝叶斯-概率损失衡量函数-1布里尔分数-2 对数似然函数LogLoss_第2张图片
与前次布里尔分数差别很大,模型效果SVC反而变好了
朴素贝叶斯-概率损失衡量函数-1布里尔分数-2 对数似然函数LogLoss_第3张图片
朴素贝叶斯-概率损失衡量函数-1布里尔分数-2 对数似然函数LogLoss_第4张图片

你可能感兴趣的:(朴素贝叶斯-概率损失衡量函数-1布里尔分数-2 对数似然函数LogLoss)