Чтобы сделать ваш классификатор совместимым с Google Cloud Machine Learning Engine (CMLE), вам необходимо отделить препроцессор и классификатор LogisticRegression от конвейера.Вам нужно будет выполнить клиентскую часть логики предварительной обработки, и автономный классификатор будет размещен на CMLE.
После чтения в файле csv и определения числа и категориальных преобразователей вам потребуется изменить обучающий кодследующим образом:
...
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
preprocessor = ColumnTransformer(
transformers=[
('num', numeric_transformer, numeric_features),
('cat', categorical_transformer, categorical_features)])
model = LogisticRegression(solver='lbfgs')
X_train_transformed = preprocessor.fit_transform(X_train)
model.fit(X_train_transformed, y_train)
print("model score: %.3f" % model.score(preprocessor.transform(X_test), y_test))
Вы можете экспортировать модель (используя pickle или joblib) и развернуть ее в CMLE.При построении вашего запроса json в CMLE для прогнозирования, вам сначала нужно предварительно обработать ваш фрейм данных в 2D-массив, используя: preprocessor.transform(X_test)
.