Automatisiertes Feature Engineering mit Featuretools
EntitySet, DFS (Deep Feature Synthesis), Feature-Primitiven, verschachtelte Aggregationen.
Automatisiertes Feature Engineering mit Featuretools ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Merkmale automatisch erstellen
Manuelles Feature Engineering ist langsam, und Kombinationen lassen sich leicht übersehen. Featuretools erstellt mithilfe einer Methode namens Deep Feature Synthesis automatisch viele mögliche Merkmale aus relationalen Daten.
Relationale Daten und Entitäten
Reale Daten erstrecken sich häufig über mehrere miteinander verbundene Tabellen: Kunden, Bestellungen und Produkte. Featuretools bildet diese Beziehungen ab und erstellt automatisch Merkmale, die über die Verknüpfungen hinweg aggregieren.
Ein EntitySet erstellen
Ein EntitySet ist der Container, der Ihre DataFrames und ihre Beziehungen zueinander enthält. Erstellen Sie zunächst ein leeres EntitySet.
import featuretools as ft
es = ft.EntitySet(id="customers_data")DataFrames hinzufügen
es.add_dataframe registriert eine Tabelle. Sie geben ihren index (eindeutigen Schlüssel) und optional einen time_index für zeitbezogene Daten an.
import featuretools as ft
es = es.add_dataframe(
dataframe_name="customers",
dataframe=customers_df,
index="customer_id",
)
es = es.add_dataframe(
dataframe_name="orders",
dataframe=orders_df,
index="order_id",
time_index="order_date",
)Beziehungen definieren
Geben Sie Featuretools mit add_relationship an, wie Tabellen verbunden sind: Ein übergeordneter Schlüssel wird mit einem Fremdschlüssel der untergeordneten Tabelle verknüpft (ein Kunde hat viele Bestellungen).
es = es.add_relationship(
"customers", "customer_id",
"orders", "customer_id",
)Deep Feature Synthesis
DFS (ft.dfs) ist die zentrale Engine. Sie kombiniert Operationen über mehrere Beziehungen hinweg und erstellt beispielsweise Merkmale wie „durchschnittlicher Bestellwert pro Kunde“, ohne dass Sie jedes einzelne Merkmal selbst programmieren müssen.
import featuretools as ft
feature_matrix, feature_defs = ft.dfs(
entityset=es,
target_dataframe_name="customers",
)Aggregationsprimitive
Aggregationsprimitive fassen untergeordnete Zeilen in der übergeordneten Entität zusammen: SUM, MEAN, COUNT, MAX, STD. So werden viele Bestellungen in Statistiken pro Kunde umgewandelt.
feature_matrix, defs = ft.dfs(
entityset=es,
target_dataframe_name="customers",
agg_primitives=["mean", "sum", "count", "max"],
)Transformationsprimitive
Transformationsprimitive arbeiten innerhalb einer einzelnen Zeile oder Tabelle: Sie extrahieren beispielsweise den Monat aus einem Datum, berechnen die vergangene Zeit oder bilden Absolutwerte.
feature_matrix, defs = ft.dfs(
entityset=es,
target_dataframe_name="customers",
trans_primitives=["month", "weekday", "time_since_previous"],
)Tiefe mit max_depth steuern
max_depth begrenzt, wie viele Primitive miteinander kombiniert werden. Tiefe 1 steht für direkte Aggregationen; Tiefe 2 wendet zunächst eine Transformation und anschließend eine Aggregation an (z. B. den Mittelwert des Wochentags von Bestellungen). Eine größere Tiefe erzeugt mehr, aber auch riskantere Merkmale.
feature_matrix, defs = ft.dfs(
entityset=es,
target_dataframe_name="customers",
max_depth=2,
)Die Feature-Matrix verwenden
Die resultierende feature_matrix ist ein sauberer DataFrame, der nach der Zielentität indiziert ist und direkt einem Modell zugeführt werden kann. feature_defs dokumentiert jedes erzeugte Merkmal.
print(feature_matrix.shape)
print(feature_matrix.head())
X = feature_matrix.fillna(0)
# now train any sklearn model on XStärken und Vorsichtsmaßnahmen
Featuretools erzeugt schnell viele Merkmale und macht Zusammenhänge in relationalen Daten sichtbar. Es kann jedoch Hunderte von Spalten erzeugen, daher sollten Sie es mit einer Merkmalsauswahl kombinieren. Achten Sie bei zeitbezogenen Daten auf Leakage, indem Sie ein passendes cutoff_time festlegen.
Kurze Überprüfung
Testen Sie Ihr Wissen über Featuretools.
Zusammenfassung
Zusammenfassung: Featuretools automatisiert das Feature Engineering. Erstellen Sie ein EntitySet, registrieren Sie Tabellen mit es.add_dataframe, definieren Sie Beziehungen und führen Sie anschließend ft.dfs mit max_depth aus. Aggregationsprimitive fassen untergeordnete Zeilen in übergeordneten Entitäten zusammen; Transformationsprimitive arbeiten innerhalb einer Zeile. Die feature_matrix ist für Modelle geeignet, sollte aber mit einer Merkmalsauswahl kombiniert werden.
Häufig gestellte Fragen
Ist die Lektion „Automatisiertes Feature Engineering mit Featuretools“ kostenlos?
Ja — der vollständige Text von „Automatisiertes Feature Engineering mit Featuretools“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Automatisiertes Feature Engineering mit Featuretools“?
EntitySet, DFS (Deep Feature Synthesis), Feature-Primitiven, verschachtelte Aggregationen. Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Learn AI with Python zu starten?
Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Automatisiertes Feature Engineering mit Featuretools“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?
Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Methoden zur Feature-Auswahl
- Interaktions- und polynomiale Features erstellen
- Target-Encoding und fortgeschrittene Verarbeitung kategorischer Daten
- Automatisiertes Feature Engineering mit Featuretools