pm_ml_class_vehicle_v4.py
Die Klasse PredictiveMaintenanceAnalyzer
führt eine prädiktive Analyse zur Wartung von Fahrzeugen durch. Sie greift auf eine MongoDB-Datenbank zu, um Sensordaten, Werkstattaufträge und Defektdaten eines spezifischen Fahrzeugs abzurufen und verarbeitet diese, um Anomalien in den Sensordaten zu identifizieren und Machine-Learning-Modelle zur Vorhersage von Defekten zu trainieren und zu bewerten. Die Ergebnisse werden anschließend gespeichert und bei Bedarf in einer MongoDB-Collection abgelegt.
client
: MongoDB-Verbindung (Typ: MongoClient
)db
: Datenbank-Objekt für die Verbindung zur MongoDBvehicle_id
: Fahrzeug-ID für die Analyseresults
: Dictionary zur Speicherung der Analyseergebnisse__init__(self, client, db_name, vehicle_id)
: Initialisiert die Klasse mit einer MongoDB-Verbindung, dem Datenbanknamen und der Fahrzeug-ID.analyze_vehicle(self)
: Führt die Datenanalyse, Anomalieerkennung und Defektvorhersage durch. Berechnet Metriken wie classification_report
und fügt diese zu results
hinzu.detect_anomalies(self, sensor_df, vehicle_id)
: (Hilfsmethode) Ermittelt Anomalien in den Sensordaten und fügt die Anzahl der Anomalien pro Sensortyp zu den Ergebnissen hinzu. Visualisiert die Anomalien als Diagramme.Hier ist eine UML-Darstellung der Klasse PredictiveMaintenanceAnalyzer
:
+----------------------------------------------+
| PredictiveMaintenanceAnalyzer |
+----------------------------------------------+
| - client: MongoClient |
| - db: Database |
| - vehicle_id: str |
| - results: dict |
+----------------------------------------------+
| + __init__(client: MongoClient, db_name: str,|
| vehicle_id: str) |
| + analyze_vehicle() -> dict |
| + detect_anomalies(sensor_df: DataFrame, |
| vehicle_id: str) -> dict |
+----------------------------------------------+
In dieser Darstellung:
client
, db
, vehicle_id
, und results
.__init__
ist der Konstruktor der Klasse.analyze_vehicle
ist die Hauptanalysemethode.detect_anomalies
ist eine Hilfsmethode zur Erkennung von Anomalien in den Sensordaten.Dieses Diagramm gibt einen klaren Überblick über die Struktur und Funktionalität der Klasse.
Autor: Jörg Harzmann
Dieser Inhalt ist unter einer CC BY-NC Lizenz veröffentlicht. Jeglicher Quellcode ist urheberrechtlich geschützt!