Я пытаюсь использовать GridSearchCV
, чтобы найти лучшие параметры для SVC
.
from sklearn.svm import SVC
from sklearn import svm, grid_search
from sklearn.model_selection import GridSearchCV
param_grid = [
{'C': [1,5,10,100]},
]
algo = SVC(kernel = "poly", degree=5, coef0=2)
grid_search = GridSearchCV(algo, param_grid, cv=3, scoring='neg_mean_squared_error')
grid_search.fit(X_train, y_train)
print(grid_search.best_params_) #line 162
Я получаю следующую ошибку:
File "main.py", line 162, in <module>
IndexError: too many indices for array
Когда я не использую GridSearchCV
, это работает:
from sklearn.svm import SVC
from sklearn import svm, grid_search
from sklearn.model_selection import GridSearchCV
algo = SVC(kernel = "poly", C=1, degree=5, coef0=2)
algo.fit(X_train, y_train)
predict_test = algo.predict(X_test)
mse = mean_squared_error(y_test, predict_test)
rmse = np.sqrt(mse)
print(rmse)
Я получаю балл.
Вывод y_train.shape (892, 1), а вывод X_train.shape (892, 14)
Используйте y_train = y_train.reshape(892,)
перед grid_search.fit(X_train, y_train)
. Какая-то ошибка сейчас?
Да!! Спасибо! В чем была проблема? почему (892,) допустимо (без другого атрибута), а (892,1) нет?
Каков результат
y_train.shape
?