Как использовать модель Pipeline и GridSearch на тестовых данных? - PullRequest
0 голосов
/ 08 апреля 2020

Я использую Pipline() и GridSearch() во время обучения и проверки для устранения утечки данных. У меня вопрос: после создания конвейера и вызова его в GridSearch, как мне использовать окончательную возвращенную модель в моих тестовых данных? Это так же просто, как использовать типичный model.predict(...), как если бы конвейер не использовался?

Но, в частности, как я могу использовать эту возвращаемую модель для перебора тестовых данных и прогнозирования каждой строки в том виде, в каком она есть в 1011 *?

Код, который создает модель, выглядит следующим образом:

x,y = balance_dataset(df)
X_train, X_test, y_train, y_test = train_test_split(x, y, test_size = 0.8, random_state = 0)

pipe = Pipeline([('sc', preprocessing.MinMaxScaler()), 
             ('SVM', svm.SVC(decision_function_shape = 'ovr', kernel = 'poly'))])

candidate_parameters = [{'SVM__C': [0.01, 0.1, 1], 'SVM__gamma': [0.01, 0.1, 1] }]

clf = GridSearchCV(estimator = pipe, param_grid = candidate_parameters, cv = 5, n_jobs = -1)
clf.fit(X_train, y_train)

После вызова конвейера и GridSearch возможно ли затем выполнить итерацию по тестовым данным в al oop или конвейерная модель способна предсказать только весь тестовый набор данных?

...