From da30481b478bfb8ca5015646386fd74fec0bd6ff Mon Sep 17 00:00:00 2001 From: Floke Date: Wed, 18 Jun 2025 14:31:08 +0000 Subject: [PATCH] bugfix --- brancheneinstufung.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/brancheneinstufung.py b/brancheneinstufung.py index 2327e1e7..5d71c5c9 100644 --- a/brancheneinstufung.py +++ b/brancheneinstufung.py @@ -9284,7 +9284,8 @@ class DataProcessor: # Feature-Liste speichern (bleibt unverändert) self._expected_features = feature_columns_ml try: - patterns_data = {"feature_columns": self._expected_features, "target_classes": list(rf_classifier.classes_)} # << KORRIGIERT + # Wir verwenden die .classes_ vom besten gefundenen Modell + patterns_data = {"feature_columns": self._expected_features, "target_classes": list(best_classifier.classes_)} # << KORRIGIERT patterns_dir = os.path.dirname(patterns_out) if patterns_dir and not os.path.exists(patterns_dir): os.makedirs(patterns_dir, exist_ok=True) @@ -9293,18 +9294,17 @@ class DataProcessor: self.logger.info(f"Erwartete Feature-Spalten und Klassen erfolgreich gespeichert in '{patterns_out}'.") except Exception as e: self.logger.error(f"FEHLER beim Speichern der Feature-Spalten in '{patterns_out}': {e}") - self.logger.debug(traceback.format_exc()) # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # +++ ENDE FEATURE-LISTEN SPEICHERUNG +++++++++++++++++++++++++++++++++++ # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # 5. Evaluation (Optional, aber empfohlen, um die Modellleistung zu bewerten) - self.logger.info("Starte Modellevaluation...") - y_pred = rf_classifier.predict(X_test_imputed) # << KORRIGIERT + self.logger.info("Starte Evaluation des besten Modells auf dem ungesehenen Testset...") + y_pred = best_classifier.predict(X_test_imputed) # << KORRIGIERT accuracy = accuracy_score(y_test, y_pred) - self.logger.info(f"Modell Genauigkeit auf dem Testset: {accuracy:.4f}") + self.logger.info(f"Finale Modell Genauigkeit auf dem Testset: {accuracy:.4f}") - class_report_labels = list(rf_classifier.classes_) # << KORRIGIERT + class_report_labels = list(best_classifier.classes_) # << KORRIGIERT class_report = classification_report(y_test, y_pred, zero_division=0, labels=class_report_labels, target_names=[str(c) for c in class_report_labels]) self.logger.info(f"Klassifikationsbericht auf dem Testset:\n{class_report}")