Sklearn中使用GridSearchCV进行一对多分类

5 投票
1 回答
874 浏览
提问于 2025-04-18 00:56

当我尝试通过以下方式来搜索最佳的 Cgamma 参数,用于 rbf 核心的支持向量机(SVM)时:

params = dict(C = C_range, gamma = gamma_range)
clf = GridSearchCV(OneVsRestClassifier(SVC()),params, cv = 5)

结果出现了一个错误,提示说 C 不是 OneVsRestClassifier 的参数。那么,针对多分类 SVM,进行参数的网格搜索的正确方法是什么呢?

1 个回答

4

网格搜索使用了一种自定义的嵌套属性语法来实现这个功能:

params = dict(estimator__C=C_range, estimator__gamma=gamma_range)

这里的名字 estimator 对应的是 OneVsRestClassifier 这个构造函数的参数。注意这里有两个下划线。

撰写回答