估计器 SVR 的无效参数损失
Invalid Parameter loss for estimator SVR
这是我的代码
我使用网格搜索 cv 进行超参数调整。但它显示错误。
param_grid = {"kernel" : ['linear', 'poly', 'rbf', 'sigmoid'],
'loss' : ['epsilon_insensitive', 'squared_epsilon_insensitive'],
"max_iter" : [1,10,20],
'C' : [np.arange(0,20,1)]}
model = GridSearchCV(estimator = svr, param_grid = param_grid, cv = 5, verbose = 3, n_jobs = -1)
m1 = model.fit(x_train,y_train)
ValueError: Invalid parameter loss for estimator SVR(C=array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19]),
kernel='linear'). Check the list of available parameters with `estimator.get_params().keys()`.
我发现的一些错误:
您似乎指定了一个 loss
参数和可能的值,它们只为 LinearSVR
而不是 SVR
定义。另一方面,如果您 想使用 LinearSVR
,则不能指定内核,因为它必须是线性的。
我还注意到网格定义中的 'C' : [np.arange(0,20,1)]
会产生错误,因为它会导致嵌套列表。只需使用 np.arange(0,20,1)
假设您有一个 SVR
,以下内容应该适合您:
from sklearn.svm import SVR
svr = SVR()
param_grid = {"kernel" : ['linear', 'poly', 'rbf', 'sigmoid'],
"max_iter" : [1,10,20],
'C' : np.arange(0,20,1)}
model = GridSearchCV(estimator = svr, param_grid = param_grid,
cv = 5, verbose = 3, n_jobs = -1)
m1 = model.fit(X_train, y_train)
这是我的代码
我使用网格搜索 cv 进行超参数调整。但它显示错误。
param_grid = {"kernel" : ['linear', 'poly', 'rbf', 'sigmoid'],
'loss' : ['epsilon_insensitive', 'squared_epsilon_insensitive'],
"max_iter" : [1,10,20],
'C' : [np.arange(0,20,1)]}
model = GridSearchCV(estimator = svr, param_grid = param_grid, cv = 5, verbose = 3, n_jobs = -1)
m1 = model.fit(x_train,y_train)
ValueError: Invalid parameter loss for estimator SVR(C=array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19]),
kernel='linear'). Check the list of available parameters with `estimator.get_params().keys()`.
我发现的一些错误:
您似乎指定了一个
loss
参数和可能的值,它们只为LinearSVR
而不是SVR
定义。另一方面,如果您 想使用LinearSVR
,则不能指定内核,因为它必须是线性的。我还注意到网格定义中的
'C' : [np.arange(0,20,1)]
会产生错误,因为它会导致嵌套列表。只需使用np.arange(0,20,1)
假设您有一个 SVR
,以下内容应该适合您:
from sklearn.svm import SVR
svr = SVR()
param_grid = {"kernel" : ['linear', 'poly', 'rbf', 'sigmoid'],
"max_iter" : [1,10,20],
'C' : np.arange(0,20,1)}
model = GridSearchCV(estimator = svr, param_grid = param_grid,
cv = 5, verbose = 3, n_jobs = -1)
m1 = model.fit(X_train, y_train)