我有一个逻辑回归和一个随机森林,我想通过取平均值来组合它们(集成)以计算最终的分类概率。
在scikit-learn中是否有内置的方法可以做到这一点?有没有一种方法可以将这两个模型的集成作为一个分类器来使用?还是我需要自己编写一个分类器?
回答:
注意:现在使用scikit-learn的投票分类器可能是实现这一目标的最佳方式
旧答案:
无论如何,我最终是按照以下方式做的:
class EnsembleClassifier(BaseEstimator, ClassifierMixin): def __init__(self, classifiers=None): self.classifiers = classifiers def fit(self, X, y): for classifier in self.classifiers: classifier.fit(X, y) def predict_proba(self, X): self.predictions_ = list() for classifier in self.classifiers: self.predictions_.append(classifier.predict_proba(X)) return np.mean(self.predictions_, axis=0)