I'm running a GridSearchCV with a OneVsRestClasssifer using SVC as an estimator. This is the aspect of my Pipeline and GridSearchCV parameters:
pipeline = Pipeline([ ('clf', OneVsRestClassifier(SVC(verbose=True), n_jobs=1)), ]) parameters = { "clf__estimator__C": [0.1, 1], "clf__estimator__kernel": ['poly', 'rbf'], "clf__estimator__degree": [2, 3], } grid_search_tune = GridSearchCV(pipeline, parameters, cv=2, n_jobs=8, verbose=10) grid_search_tune.fit(train_x, train_y) According to the documentation of SVC the degree parameter is only used by the poly kernel:
http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html
degree : int, optional (default=3)
Degree of the polynomial kernel function (‘poly’). Ignored by all other kernels.
but when I see the output of my GridSearchCV it seems it's computing a different run for each SVC configuration with a rbf kernel and different values for the degree parameter.
[CV] clf__estimator__kernel=poly, clf__estimator__C=0.1, clf__estimator__degree=2 [CV] clf__estimator__kernel=poly, clf__estimator__C=0.1, clf__estimator__degree=2 [CV] clf__estimator__kernel=rbf, clf__estimator__C=0.1, clf__estimator__degree=2 [CV] clf__estimator__kernel=rbf, clf__estimator__C=0.1, clf__estimator__degree=2 [CV] clf__estimator__kernel=poly, clf__estimator__C=0.1, clf__estimator__degree=3 [CV] clf__estimator__kernel=poly, clf__estimator__C=0.1, clf__estimator__degree=3 [CV] clf__estimator__kernel=rbf, clf__estimator__C=0.1, clf__estimator__degree=3 [CV] clf__estimator__kernel=rbf, clf__estimator__C=0.1, clf__estimator__degree=3 Shouldn't all values of degree be ignored, when the kernel is set to rbf?