当 运行 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)'
我是运行一段代码,使用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)'