This commit is contained in:
2025-06-18 14:40:12 +00:00
parent e0be87e658
commit c8d7dd3fc0

View File

@@ -9235,7 +9235,7 @@ class DataProcessor:
# Definieren der Hyperparameter, die getestet werden sollen.
# WICHTIG: Die Parameternamen müssen mit dem Namen des Schritts in der Pipeline beginnen (z.B. 'classifier__...')
param_grid = {
'classifier__n_estimators': [100, 200], # Anzahl der Bäume
'classifier__n_estimators': [200, 300], # Anzahl der Bäume
'classifier__max_depth': [10, 20, None], # Maximale Tiefe der Bäume (None = unbegrenzt)
'classifier__min_samples_split': [2, 5], # Mindestanzahl Samples für einen Split
'classifier__min_samples_leaf': [1, 2] # Mindestanzahl Samples in einem Blatt
@@ -9313,8 +9313,10 @@ class DataProcessor:
# Block für Feature Importance
try:
self.logger.info("Feature Importance (Top 15):")
importances = rf_classifier.feature_importances_ # << Hier war es schon korrekt
# Greife auf den Schritt 'classifier' in der Pipeline zu, um das finale Modell zu bekommen
final_rf_model = best_classifier.named_steps['classifier']
self.logger.info("Feature Importance des besten Modells (Top 15):")
importances = final_rf_model.feature_importances_ # << KORRIGIERT
feature_importance_df = pd.DataFrame({
'Feature': feature_columns_ml,
'Importance': importances