Beispiel #1
0
try:
    data = pd.read_csv(csv_url, sep=";")
except Exception as e:
    logger.exception("Unable to download training & test CSV, "
                     f"check your internet connection. Error: {e}")
    exit(1)

train, test = train_test_split(data)

train_x = train.drop(["quality"], axis=1)
test_x = test.drop(["quality"], axis=1)
train_y = train[["quality"]]
test_y = test[["quality"]]

lr = ElasticNet(alpha=alpha, l1_ratio=l1_ratio, random_state=42)
lr.pmml_name_ = f"PMML-ElasticnetWineModel-{model_id}"
pipeline = PMMLPipeline(steps=[("elastic_net", lr)])

pipeline.fit(train_x, train_y)
predicted_qualities = pipeline.predict(test_x)

(rmse, mae, r2) = eval_metrics(test_y, predicted_qualities)

print("Elasticnet model (alpha={}, l1_ratio={}):".format(alpha, l1_ratio))
print("  RMSE: {}".format(rmse))
print("  MAE: {}".format(mae))
print("  R2: {}".format(r2))

sklearn2pmml(pipeline, output_path, with_repr=True)
print(f"Elasticnet model (alpha={alpha}, l1_ratio={l1_ratio}) exported")