Nic*_*ick 3 python-3.x scikit-learn ensemble-learning
我查看了 scikit-learn 的文档,但我不清楚在 VotingClassifier 下使用了什么样的分类方法?它是逻辑回归、SVM 还是某种树方法?
我对改变引擎盖下使用的分类器方法的方法很感兴趣。如果 Scikit-learn 不提供这样的选项,是否有一个可以与提供此类功能的 scikit-learn 轻松集成的 python 包?
编辑:
我的意思是用于分类方法第二级模型。我非常清楚第一级分类器可以是 scikit-learn 支持的任何类型的分类器。
第二级分类器使用第一级分类器的预测作为输入。所以我的问题是 - 这个二级分类器使用什么方法?是逻辑回归吗?或者是其他东西?我可以改变它吗?
VotingClassifier 不限于一种特定的方法/算法。您可以选择多种不同的算法并将它们组合为一个 VotingClassifier。请参阅下面的示例:
iris = datasets.load_iris()
X, y = iris.data[:, 1:3], iris.target
clf1 = LogisticRegression(...)
clf2 = RandomForestClassifier(...)
clf3 = SVC(...)
eclf = VotingClassifier(estimators=[('lr', clf1), ('rf', clf2), ('svm', clf3)], voting='hard')
Run Code Online (Sandbox Code Playgroud)
在此处阅读有关用法的更多信息:VotingClassifier-Usage。当涉及到 VotingClassifier 如何“投票”时,您可以指定voting='hard'或voting='soft'。有关更多详细信息,请参阅下面的段落。
多数类标签(多数/硬投票)
在多数投票中,特定样本的预测类标签是代表每个单独分类器预测的类标签的多数(模式)的类标签。
例如,如果给定样本的预测是
分类器 1 -> 类 1 分类器 2 -> 类 1 分类器 3 -> 类 2 VotingClassifier(投票 =“hard”)将基于多数类标签将样本分类为“类 1”。
来源:scikit-learn-majority-class-labels-majority-hard-voting
加权平均概率(软投票)
与多数投票(硬投票)相反,软投票将类标签作为预测概率总和的 argmax 返回。
可以通过权重参数为每个分类器分配特定的权重。当提供权重时,收集每个分类器的预测类概率,乘以分类器权重,然后取平均值。然后从具有最高平均概率的类标签得出最终的类标签。
来源/在此处阅读更多信息:scikit-learn-weighted-average-probabilities-soft-voting
| 归档时间: |
|
| 查看次数: |
614 次 |
| 最近记录: |