在VotingClassifier中,可以使用以下结构指定嵌套参数:
clf__<estimator_name>__<hyperparameter_name>
clf
指的是
VotingClassifier
进入管道。
<estimator_name>
指估计器的名称
投票分类器
(例如mlp1、svm1)。
<hyperparameter_name>
是指个体估计器的参数(例如,MLP的hidden_layer_sizes或SVM的C)。
现在,您可以在params字典中包含超参数mlp1、mlp2、mlp3(用于MLP分类器)和svm1、svm2(用于SVM分类器)。例如
params = [{
# Preprocessing variations
'preprocessing': [StandardScaler(), MinMaxScaler(), MaxAbsScaler()],
# Feature selection variations
'feature_selection__score_func': [f_classif, mutual_info_classif],
# Hyperparameters for MLP classifiers
'clf__mlp1__hidden_layer_sizes': [(50,), (100,), (50, 50)],
'clf__mlp1__activation': ['relu', 'tanh'],
'clf__mlp2__hidden_layer_sizes': [(50,), (100,)],
'clf__mlp2__activation': ['relu', 'tanh'],
'clf__mlp3__hidden_layer_sizes': [(50, 50), (100, 50)],
'clf__mlp3__activation': ['relu', 'logistic'],
# Hyperparameters for SVM classifiers
'clf__svm1__C': [0.01, 0.1, 1, 10],
'clf__svm1__kernel': ['linear', 'rbf'],
'clf__svm2__C': [0.1, 1, 10],
'clf__svm2__kernel': ['rbf', 'sigmoid']
}]