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

Abh*_*pta 5 prediction scikit-learn 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_)
Run Code Online (Sandbox Code Playgroud)

在此,我想调整参数weights。如果我使用GridSearchCV,它会花费很多时间。因为它需要为每次迭代拟合模型。我猜这不是必需的。最好使用类似于prefitSelectModelFrom函数中使用的东西from sklearn.model_selection

还有其他选择还是我误解了什么?

Dav*_*ale 1

以下代码(在我的存储库中)可以执行此操作。

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