当 运行 GridSearchCV 时,继续返回 'numpy.float64' 对象不可调用

keep returning 'numpy.float64' object is not callable when running GridSearchCV

我是运行一段代码,使用GridSearchCV比较LinearSVC中使用的最佳参数。
但是,我把运行变成了同一个

TypeError 'numpy.float64' object is not callable

即使我将所有输入都转换为 float64 格式。有人可以帮忙吗?

from sklearn.model_selection import GridSearchCV
from sklearn.metrics import make_scorer

clf = LinearSVC()

parameters = {'random_state':[0, 1, 42], 'tol':[1e-5, 1e-4, 1e-3]}

scorer = make_scorer(fbeta_score(y_val.values.ravel().astype('float64'), 
                     y_pred.astype('float64'), beta=0.5))

grid_obj = GridSearchCV(clf, parameters, scoring=scorer)

grid_fit = grid_obj.fit(X_train.values.astype('float64'), 
                        y_train.values.ravel().astype('float64'))

为什么要将 y_train_values 转换为 float ?我假设您正在使用 SVC 进行分类。目标值应该是整数。

原来是我的'make_scorer'函数引起的。应该写成'make_scorer(fbeta_score, beta=0.5)'