Scikit learn scikit learn GridSearchCV始终将第一个参数作为最佳参数返回

Scikit learn scikit learn GridSearchCV始终将第一个参数作为最佳参数返回,scikit-learn,Scikit Learn,我将GridSearchCV的参数设置为: parameters = {'kernel':['rbf'], 'C':[1, 5, 0.5], 'gamma':[1, 5, 0.5]} grid = GridSearchCV(SVC(), parameters) grid.fit(dataset, targets) 然后grid.best_params_或grid.best_estimator_始终将列表中的第一个参数返回为最佳(即1和1)。如果我改变参数的顺序,将5放在“C”列表的顶部,那么最

我将GridSearchCV的参数设置为:

parameters = {'kernel':['rbf'], 'C':[1, 5, 0.5], 'gamma':[1, 5, 0.5]}
grid = GridSearchCV(SVC(), parameters)
grid.fit(dataset, targets)
然后
grid.best_params_
grid.best_estimator_
始终将列表中的第一个参数返回为最佳(即1和1)。如果我改变参数的顺序,将5放在“C”列表的顶部,那么最好的参数是“C”=5,“gamma”=1


我做错了什么?

您必须将评分参数更改为(roc_auc),例如:

    grid = GridSearchCV(model, param_grid = p, scoring='roc_auc')
    grid.fit(self.train_data, self.train_labels)
    print('\nThe best hyper-parameter for -- {} is {}, the corresponding mean accuracy through 10 Fold test is {} \n'\
        .format(name, grid.best_params_, grid.best_score_))
    model = grid.best_estimator_
    train_pred = model.predict(self.train_data)
    print('{} train accuracy = {}\n'.format(name,(train_pred == self.train_labels).mean()))

参数之间的分数可能没有变化。您是否查看了
grid\u scores\u
属性或设置了详细度参数?特别是对于小数据集,这可能会发生。另外,您的参数非常接近。您是否找到了解决方案,因为我正在努力解决同样的问题。通过使用计分获取此错误
raisevalueerror(“{0}格式不受支持”。format(y_type))ValueError:不支持多类格式