如何用 OneVsRestClassifier 做 GridSearchCV?
Posted
技术标签:
【中文标题】如何用 OneVsRestClassifier 做 GridSearchCV?【英文标题】:How to do GridSearchCV with OneVsRestClassifier? 【发布时间】:2016-07-22 13:40:04 【问题描述】:我有一个多标签问题。我将 OneVsRestClassifier 与 SVM 一起使用。现在我想通过 GridSearchCV 调整参数。我试过了
GridSearchCV(estimator=OneVsRestClassifier(svm.SVC(probability=True)), param_grid=dict(C=Cs),
n_jobs=-1)
它返回各种错误信息。
也许我应该做一个管道?但是,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)
【问题讨论】:
this should help you 【参考方案1】:你可以使用estimator来引用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)
【讨论】:
以上是关于如何用 OneVsRestClassifier 做 GridSearchCV?的主要内容,如果未能解决你的问题,请参考以下文章