为什么Google ml-engine在线预测返回与本地预测不同的预测?

时间:2019-02-05 18:41:07

标签: python machine-learning scikit-learn google-cloud-ml

我创建了一个scikit-learn管道,并通过提交培训工作将模型版本上传到ml-engine。当我从模型中请求局部预测时,与请求在线预测时获得的概率不同,但是我使用的是相同的输入文件。在我的管道中,我创建了一个ColumnTransformer,它包含用于分类数据的OneHotEncoder()和用于数字数据的StandardScaler()。培训工作期间发生了什么事情正在更改管道,或者调用gcloud ml-engine predict时我的本地环境有问题吗?

transformer = ColumnTransformer(transformers=[('numerical', StandardScaler(
), [0, 1]), ("categorical", OneHotEncoder(categories=[array1, array2]), [2, 3])])
transformer.fit(X)

logClf = LogisticRegression(random_state=42, solver='liblinear')

logClf.predict = logClf.predict_proba


pipeline = Pipeline([
    ('transformer', transformer),
    ('classifier', logClf)])

pipeline.fit(X_train, y_train)

模型版本使用scikit-learn 0.20.0和python版本3.5。

0 个答案:

没有答案