# ML Training- und Evaluations-Workflow Dieser Workflow beschreibt, wie Modelle trainiert, evaluiert und an der Serving-Layer registriert werden. ## 1. Daten sammeln Alle Trainingsvektoren werden über `FeatureStore.add(...)` oder `add_batch(...)` eingepflegt. Jeder Vektor enthält eine Sensor-ID sowie ein Dictionary mit Merkmalen. ## 2. Modell trainieren ```python store = FeatureStore() store.add(FeatureVector(sensor_id="sensor.kitchen", values={"temperature": 21.0})) pipeline = TrainingPipeline(store) artifact = pipeline.run("my_artifact") pipeline.export("my_artifact") ``` `TrainingPipeline.run(...)` erzeugt ein `TrainedArtifact` mit den unterstützten Sensor-IDs. ## 3. Modell evaluieren ```python evaluator = Evaluator(pipeline) report = evaluator.evaluate(artifact.artifact_id, predictions) ``` Der Report enthält: - `artifact_id` - `sample_size` - Metriken wie `coverage` und `unknown_rate` mit Default-Schwellenwerten ## 4. Modell registrieren Das trainierte Artefakt kann anschließend über `ModelRegistry.register(artifact)` bereitgestellt werden. Die ML-Serving-API stellt es unter `/ml/predict` und `/ml/batch` zur Verfügung. ## Hinweise - Für reproduzierbare Sensor-Reihenfolgen wird in `TrainingPipeline.run(...)` eine sortierte Sensor-Liste verwendet. - Fehlende Trainingsdaten lösen `ValueError` aus; nicht registrierte Artefakte lösen `KeyError` aus.