sgd = optimizers.SGD(lr=0.01) sgd_conf = optimizers.serialize(sgd) # Initialize Elephas Spark ML Estimator adadelta = elephas_optimizers.Adadelta() estimator = ElephasEstimator() estimator.set_keras_model_config(model.to_yaml()) estimator.set_optimizer_config(sgd_conf) estimator.set_mode("synchronous") estimator.set_loss("categorical_crossentropy") estimator.set_metrics(['acc']) estimator.setFeaturesCol("scaled_features") estimator.setLabelCol("index_category") estimator.set_elephas_optimizer_config(adadelta.get_config()) estimator.set_epochs(10) estimator.set_batch_size(128) estimator.set_num_workers(1) estimator.set_verbosity(0) estimator.set_validation_split(0.15) estimator.set_categorical_labels(True) estimator.set_nb_classes(nb_classes) # Fitting a model returns a Transformer pipeline = Pipeline(stages=[string_indexer, scaler, estimator]) fitted_pipeline = pipeline.fit(train_df) # Evaluate Spark model prediction = fitted_pipeline.transform(train_df) pnl = prediction.select("index_category", "prediction")