Machine learning scikit学习带有样本权重的mlxtend集成VoteClassifier

Machine learning scikit学习带有样本权重的mlxtend集成VoteClassifier,machine-learning,scikit-learn,ensembles,mlxtend,Machine Learning,Scikit Learn,Ensembles,Mlxtend,我正试着根据 对于normal grid.fit,我可以使用fit_参数设置sample_权重,但对于VotingClassifier,它不起作用。如何解决这个问题 from sklearn import datasets iris = datasets.load_iris() X, y = iris.data[:, :], iris.target from sklearn.model_selection import GridSearchCV from sklearn.linear_model

我正试着根据

对于normal grid.fit,我可以使用fit_参数设置sample_权重,但对于VotingClassifier,它不起作用。如何解决这个问题

from sklearn import datasets
iris = datasets.load_iris()
X, y = iris.data[:, :], iris.target
from sklearn.model_selection import GridSearchCV
from sklearn.linear_model import LogisticRegression
from sklearn.naive_bayes import GaussianNB 
from sklearn.ensemble import RandomForestClassifier
from mlxtend.classifier import EnsembleVoteClassifier
from sklearn.pipeline import Pipeline
from mlxtend.feature_selection import SequentialFeatureSelector
clf1 = LogisticRegression(random_state=1)
clf2 = RandomForestClassifier(random_state=1)
clf3 = GaussianNB()
'''Creating a feature-selection-classifier pipeline'''
sfs1 = SequentialFeatureSelector(clf1, 
                                 k_features=4,
                                 forward=True, 
                                 floating=False, 
                                 scoring='accuracy',
                                 verbose=0,
                                 cv=0)
clf1_pipe = Pipeline([('sfs', sfs1),
                      ('logreg', clf1)])
eclf = EnsembleVoteClassifier(clfs=[clf1_pipe, clf2, clf3], 
                              voting='soft')
params = {'pipeline__sfs__k_features': [1, 2, 3],
          'pipeline__logreg__C': [1.0, 100.0],
          'randomforestclassifier__n_estimators': [20, 200]}
grid = GridSearchCV(estimator=eclf, param_grid=params, cv=5)
sample_weights = [1] * len(iris.target)
grid.fit(iris.data, iris.target,**{'pipeline__logreg__sample_weight': sample_weights})

尝试代替
EnsembleVoteClassifier
谢谢,但是当我有一个StackingClassifier时我该怎么办?然后你需要自己将其扩展到自定义类并添加参数。我用VotingClassifier尝试过,我得到了ValueError:基础估计器“clf1_pipe”不支持样本权重。