Files
sillyhome-next-dev/docs/ml_training.md
Otto aaf319ff14
Some checks failed
quality / test (3.11) (push) Has been cancelled
quality / test (3.13) (push) Has been cancelled
harden delivery pipeline and production runtime
2026-06-11 21:14:07 +02:00

1.6 KiB

ML Training- und Evaluations-Workflow

Dieser Workflow beschreibt den aktuellen Platzhalter für Modell-Metadaten, Evaluation und Serving. Er trainiert in Version 0.1.0 noch kein statistisches Modell.

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. Artefakt-Metadaten erzeugen

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. Gewichte, Parameter oder ein echtes Modell werden noch nicht berechnet.

3. Modell evaluieren

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.
  • coverage zählt nur exakte Sensor-Referenzen und bleibt im Bereich 0 bis 1.