我使用GridSearchCV和配合是给我一个类型错误:get_params()失踪1人需要的位置参数:“自我”

问题描述:

我使用网格搜索得到最适合 我使用GridSearchCV和配合是给我一个类型错误:get_params()失踪1人需要的位置参数:“自我”

k=['rbf', 'linear','poly','sigmoid'] 
c= [1,5,10,20,30,50,80,100] 
g=[1e-7,1e-6,1e-5,1e-4,1e-2,0.0001] 

param_grid=dict(kernel=k, C=c, gamma=g) 
print (param_grid) 
grid = GridSearchCV(SVC, param_grid,scoring='accuracy') 
grid.fit(X_t_train, y_t_train) 

print() 
print("Grid scores on development set:") 
print() 
print (grid.grid_scores_) 
print("Best parameters set found on development set:") 
print() 
print(grid.best_params_) 
print("Grid best score:") 
print() 
print (grid.best_score_) 

我得到一个TypeError:get_params()缺少1位置参数:grid.fit()中的'self'

出现此错误是因为估计器必须用对象初始化而不是类初始化。你需要做的无论是这样的:

grid = GridSearchCV(SVC(), param_grid, scoring='accuracy') 

或者是这样的:

clf = SVC() 
grid = GridSearchCV(clf, param_grid, scoring='accuracy')