我有一个多标签问题。我将OneVsRestClassifier与SVM结合使用。现在我想通过GridSearchCV来调整参数。我试过
GridSearchCV(estimator=OneVsRestClassifier(svm.SVC(probability=True)), param_grid=dict(C=Cs),
n_jobs=-1)
它返回各种错误信息。
如何使用OneVsRestClassifier进行GridSearchCV?也许我应该做一个管道?然而,OneVsRestClassifier和SVM之间的关系似乎并不像管道函数所期望的那样。
我还尝试了下面的代码。但是,我无法将参数传递到svm中。SVC。
parameters = {'kernel':('linear', 'rbf'), 'C':[1, 10]}
svr = OneVsRestClassifier(svm.SVC(probability=True))
clf = grid_search.GridSearchCV(svr, parameters)
clf.fit(X_ptrain, y_ptrain)
您可以使用估计器来参考SVC的参数,如下所示:
parameters = {'estimator__kernel':('linear', 'rbf'), 'estimator__C':[1, 10]}
svr = OneVsRestClassifier(svm.SVC(probability=True))
clf = grid_search.GridSearchCV(svr, parameters)
clf.fit(X_ptrain, y_ptrain)