Cle*_*lee 4 python classification machine-learning scikit-learn ensemble-learning
对于分类任务,我使用投票分类器来集成逻辑回归和SVM,投票参数设置为soft
.结果明显优于每个单独的模型.我不确定我是否理解它是如何工作的.模型如何才能在两个模型之间找到多数投票?
假设你有两个类class-A
和class-B
Logistic Regression
(有一个内置的predict_proba()方法)和SVC
(组概率=真)两者都能够估计类概率上它们的输出即它们预测,如果输入是A类的概率一个和B类的概率b.如果a> b则输出预测类别为A否则为B.在投票分类器中设置投票参数以soft
使它们(SVM和LogiReg)能够单独计算它们的概率(也称为置信度得分)并将其呈现给投票分类器,然后voting classifier
平均它们并输出具有最高概率的类.
确保如果设置,voting=soft
则您提供的分类器也可以计算此置信度分数.
要查看每个分类器的可信度,您可以执行以下操作:
from sklearn.metrics import accuracy_score
y_pred=classifer_name.predict(X_test) #classifier_name=trained SVM/LogiReg/VotingClassifier
print(classifier_name.__class__.__name__,accuracy_score(y_true,y_pred))
Run Code Online (Sandbox Code Playgroud)
注意: 由于计算机浮点舍入,a + b可能看起来不是1.但它是1.我不能说决定函数之类的其他置信度得分,但是使用predict_proba()就是这种情况.
归档时间: |
|
查看次数: |
3259 次 |
最近记录: |