我正在使用网格搜索来获得最佳拟合
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_)
我在grid.fit()调用时遇到了TypeError: get_params() missing 1 required positional argument: ‘self’
回答:
这个错误出现的原因是估计器必须使用对象初始化,而不是类。你需要这样做:
grid = GridSearchCV(SVC(), param_grid, scoring='accuracy')
或者像这样:
clf = SVC()grid = GridSearchCV(clf, param_grid, scoring='accuracy')