This commit is contained in:
2025-06-18 13:56:32 +00:00
parent 411f33ac4f
commit d99dfb5fce

View File

@@ -9098,10 +9098,20 @@ class DataProcessor:
self.logger.info(f"Verteilung der neuen Techniker-Buckets:\n{df_filtered['Techniker_Bucket'].value_counts(normalize=True, dropna=False).sort_index().round(3)}")
# --- Kategoriale Features vorbereiten (Branche) ---
self.logger.info("Verarbeite kategoriales Feature 'branche_crm' fuer One-Hot Encoding...")
branche_col_internal = "branche_ki"
df_filtered.loc[:, 'branche_ki'] = df_filtered['branche_crm'].astype(str).fillna('Unbekannt').str.strip()
branche_col_internal = "branche_ki" # << KORRIGIERT: Den neuen internen Namen verwenden
self.logger.info(f"Verarbeite kategoriales Feature '{branche_col_internal}' (aus Spalte AL) fuer One-Hot Encoding...")
# Sicherstellen, dass die Spalte existiert
if branche_col_internal not in df_filtered.columns:
self.logger.critical(f"FEHLER: Spalte '{branche_col_internal}' nicht im DataFrame fuer One-Hot Encoding gefunden.")
return None
# Greife auf 'branche_ki' zu und weise das Ergebnis auch wieder 'branche_ki' zu
df_filtered.loc[:, branche_col_internal] = df_filtered[branche_col_internal].astype(str).fillna('Unbekannt').str.strip()
# Verwende den korrekten internen Namen für das One-Hot Encoding
df_encoded = pd.get_dummies(df_filtered, columns=[branche_col_internal], prefix='Branche', dummy_na=False)
self.logger.info(f"One-Hot Encoding fuer '{branche_col_internal}' durchgefuehrt...")
# --- Finale Auswahl der Features fuer das Modell ---
feature_columns_ml = [col for col in df_encoded.columns if col.startswith('Branche_')]