Joh*_*ass 6 python python-2.7 scikit-learn
我有一个多标签问题。我将 OneVsRestClassifier 与 SVM 一起使用。现在我想通过 GridSearchCV 调整参数。我试过
GridSearchCV(estimator=OneVsRestClassifier(svm.SVC(probability=True)), param_grid=dict(C=Cs),
n_jobs=-1)
Run Code Online (Sandbox Code Playgroud)
它返回各种错误信息。
如何使用 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)
Run Code Online (Sandbox Code Playgroud)
小智 2
您可以使用估计器来参考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)
Run Code Online (Sandbox Code Playgroud)