如何使用GridSearchCV进行一类分类

时间:2019-05-03 15:31:30

标签: scikit-learn svm gridsearchcv

我尝试使用GridSearchCV来为分类器提供最佳参数。我正在使用一类SVM,我的代码是:

tuned_parameters = [{'kernel': ['rbf'], 'gamma': [1e-2, 1e-3, 1e-4, 1e-5],
                 'nu': [0.001, 0.10, 0.1, 10, 25, 50, 100, 1000]},
                {'kernel': ['linear'], 'nu': [0.001, 0.10, 0.1, 10, 25, 50, 100, 1000]}
               ] 

scores = ['precision', 'recall']

for score in scores:
  print("# Tuning hyper-parameters for %s" % score)
  print()

 clf = GridSearchCV(svm.OneClassSVM(), tuned_parameters,
                   scoring='%s_macro' % score)
 clf.fit(input_dataN)

我遇到了错误:

TypeError: __call__() missing 1 required positional argument: 'y_true'

请如何解决?

1 个答案:

答案 0 :(得分:-1)

应用fit方法时,您需要提供特征(X_train)以及目标类标签(y_train):

修复此行:

clf.fit(input_dataN)