如何在投票分类器中调整权重(Sklearn)

时间:2017-10-16 18:51:17

标签: scikit-learn prediction ensemble-learning

我正在尝试执行以下操作:

vc = VotingClassifier(estimators=[('gbc',GradientBoostingClassifier()),
                       ('rf',RandomForestClassifier()),('svc',SVC(probability=True))],
                       voting='soft',n_jobs=-1)

params = {'weights':[[1,2,3],[2,1,3],[3,2,1]]}
grid_Search = GridSearchCV(param_grid = params, estimator=vc)
grid_Search.fit(X_new,y)
print(grid_Search.best_Score_)

在此,我想调整参数weights。如果我使用GridSearchCV,则需要花费很多时间。因为它需要适合每次迭代的模型。我想这不是必需的。最好使用来自prefit的{​​{1}}函数中使用的SelectModelFrom之类的内容。

还有其他选择或者我误解了什么吗?

1 个答案:

答案 0 :(得分:1)

The following code(在我的回购中)会这样做。

它包含一个类VotingClassifierCV。它首先对所有分类器进行交叉验证的预测。然后循环遍历所有权重,选择最佳组合,并使用预先计算的预测。