如何在Keras中保存流水线估算器?

时间:2017-05-18 09:01:22

标签: python scikit-learn keras cross-validation

我在Python中使用Scikit Learn,我使用StandardScaler()将KerasClassifier流水线化。

代码是:

def create_baseline():
    model = Sequential()
    model.add(Dense(11, input_dim=11, kernel_initializer='normal', activation='relu'))
    model.add(Dense(7, kernel_initializer='normal', activation='relu'))
    model.add(Dense(1, kernel_initializer='normal', activation='sigmoid'))
    model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
    return model


classifier = KerasClassifier(build_fn=create_baseline, nb_epoch=150, batch_size=5)
kfold = StratifiedKFold(n_splits=2, shuffle=True, random_state=seed)

estimators = []
estimators.append(('standardize', StandardScaler()))
estimators.append(('mlp', classifier))
pipeline = Pipeline(estimators)

results = cross_val_score(pipeline, X, Y, cv=kfold, verbose=1, fit_params={'mlp__callbacks':[tbCallBack]})
print("Result: %.2f%% (%.2f%%)" % (results.mean()*100, results.std()*100))

如何保存交叉验证?考虑到我以前不适合分类器,我需要保存结果然后加载它以进行预测。

0 个答案:

没有答案
相关问题