Sparen von Sparks MLLIB -Modell mit Kedro -Datenkatalog
Posted: 01 Jul 2025, 13:09
Betrachten Sie das Modell, das in diesem Exempl in Kedros Dokumentation trainiert wird. < /p>
implementieren, um dies zu erreichen?
Code: Select all
from typing import Any, Dict
from kedro.pipeline import node, pipeline
from pyspark.ml.classification import RandomForestClassifier
from pyspark.sql import DataFrame
def train_model(training_data: DataFrame) -> RandomForestClassifier:
"""Node for training a random forest model to classify the data."""
classifier = RandomForestClassifier(numTrees=10)
return classifier.fit(training_data)
def predict(model: RandomForestClassifier, testing_data: DataFrame) -> DataFrame:
"""Node for making predictions given a pre-trained model and a testing dataset."""
predictions = model.transform(testing_data)
return predictions
def create_pipeline(**kwargs) -> Pipeline:
return pipeline(
[
node(train_model, inputs=["training_data"], outputs="example_classifier"),
node(
predict,
inputs=dict(model="example_classifier", testing_data="testing_data"),
outputs="example_predictions",
),
]
)
< /code>
Ich möchte mein vorgebildetes Modell nicht verlieren und es als PYSPARK-Pipelinemodel speichern, aber ich konnte in Kedro-Datensatz keine geeignete Datenstelle dafür finden. Normalerweise würde ich so etwas wie folgt machen: < /p>
save_path = "path/to/save/pipeline_model"
pipeline_model.save(save_path)
< /code>
Aber da ich Kedro benutze, möchte ich keine IO außerhalb meines Katalogs haben. Ist dies ein unterstützter Anwendungsfall oder müsste ich meine eigenen Daten benutzerdefinierten Kedrodataset