Vous pouvez le faire en utilisant GridSearchCV mais avec une petite modification. Dans le dictionnaire de paramètres au lieu de spécifier l'attrbute directement, vous devez utiliser la clé pour classfier dans l'objet VotingClassfier suivi de __
puis de l'attribut lui-même.
Découvrez cet exemple
from sklearn.linear_model import LogisticRegression
from sklearn.svm import SVC
from sklearn.ensemble import VotingClassifier
from sklearn.model_selection import GridSearchCV
X = np.array([[-1.0, -1.0], [-1.2, -1.4], [-3.4, -2.2], [1.1, 1.2],[-1.0, -1.0], [-1.2, -1.4], [-3.4, -2.2], [1.1, 1.2]])
y = np.array([1, 1, 2, 2,1, 1, 2, 2])
eclf = VotingClassifier(estimators=[
('svm', SVC(probability=True)),
('lr', LogisticRegression()),
], voting='soft')
#Use the key for the classifier followed by __ and the attribute
params = {'lr__C': [1.0, 100.0],
'svm__C': [2,3,4],}
grid = GridSearchCV(estimator=eclf, param_grid=params, cv=2)
grid.fit(X,y)
print (grid.best_params_)
#{'lr__C': 1.0, 'svm__C': 2}
Que pouvez-vous être plus précis sur vous avez essayé jusqu'à présent? Qu'en est-il de [GridSearchCV] (http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html#sklearn.model_selection.GridSearchCV)? –