Поиск в таблице для SVC: IndexError: слишком много индексов для массива - PullRequest
1 голос
/ 30 мая 2019

Я пытаюсь использовать 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)

Я получаю оценку.

1 Ответ

1 голос
/ 31 мая 2019

GridSearchCV.fit() принимает целевые значения в виде массива y формы [n_samples] или [n_samples, n_output].

В вашем случае (892,).Поэтому измените форму y_train:

y_train = y_train.reshape(892,)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...