Automatiseret feature engineering med Featuretools
EntitySet, DFS (Deep Feature Synthesis), feature-primitiver, stacking-aggregationer.
Automatiseret feature engineering med Featuretools er en gratis Lær AI med Python-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Lær AI med Python, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Lær AI med Python-kurset indeholder 4 lektioner i alt.
Automatisk oprettelse af egenskaber
Manuel konstruktion af egenskaber er langsom, og det er let at overse kombinationer. Featuretools opbygger automatisk mange mulige egenskaber fra relationelle data ved hjælp af en metode, der kaldes Deep Feature Synthesis.
Relationelle data og entiteter
Virkelige data strækker sig ofte over flere relaterede tabeller: kunder, ordrer og produkter. Featuretools modellerer disse relationer og genererer automatisk egenskaber, der aggregerer på tværs af forbindelserne.
Oprettelse af et EntitySet
Et EntitySet er den container, der indeholder dine datarammer og deres relationer. Start med at oprette et tomt.
import featuretools as ft
es = ft.EntitySet(id="customers_data")Tilføjelse af datarammer
es.add_dataframe registrerer en tabel. Du angiver dens index (unikke nøgle) og eventuelt et time_index til tidsdata.
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",
)Definition af relationer
Fortæl Featuretools, hvordan tabellerne hænger sammen, med add_relationship: en overordnet nøgle forbinder til en underordnet fremmednøgle (én kunde har mange ordrer).
es = es.add_relationship(
"customers", "customer_id",
"orders", "customer_id",
)Deep Feature Synthesis
DFS (ft.dfs) er motoren. Den kæder operationer sammen på tværs af relationer for at oprette egenskaber som "gennemsnitlig ordreværdi pr. kunde" uden at du skal kode hver enkelt.
import featuretools as ft
feature_matrix, feature_defs = ft.dfs(
entityset=es,
target_dataframe_name="customers",
)Aggregeringsprimitiver
Aggregeringsprimitiver opsummerer rækker fra underordnede enheder til den overordnede enhed: SUM, MEAN, COUNT, MAX og STD. De omdanner mange ordrer til statistikker pr. kunde.
feature_matrix, defs = ft.dfs(
entityset=es,
target_dataframe_name="customers",
agg_primitives=["mean", "sum", "count", "max"],
)Transformationsprimitiver
Transformationsprimitiver arbejder inden for en enkelt række eller tabel: udtrækker måneden fra en dato, beregner tiden siden eller tager absolutværdier.
feature_matrix, defs = ft.dfs(
entityset=es,
target_dataframe_name="customers",
trans_primitives=["month", "weekday", "time_since_previous"],
)Styring af dybden med max_depth
max_depth begrænser, hvor mange primitiver der kædes sammen. Dybde 1 er direkte aggregeringer; dybde 2 anvender en transformation efterfulgt af en aggregering (f.eks. gennemsnittet af ugedagene for ordrer). Større dybde giver flere, men mere risikable, egenskaber.
feature_matrix, defs = ft.dfs(
entityset=es,
target_dataframe_name="customers",
max_depth=2,
)Brug af egenskabsmatricen
Den resulterende feature_matrix er en ren dataramme indekseret efter målenheden og klar til at blive brugt i en model. feature_defs dokumenterer hver genereret egenskab.
print(feature_matrix.shape)
print(feature_matrix.head())
X = feature_matrix.fillna(0)
# now train any sklearn model on XFordele og forholdsregler
Featuretools producerer hurtigt mange egenskaber og afdækker relationelle signaler. Men det kan generere hundredvis af kolonner, så kombinér det med udvælgelse af egenskaber. Vær opmærksom på lækage ved at angive en korrekt cutoff_time ved tidsdata.
Hurtig kontrol
Test din viden om Featuretools.
Opsummering
Opsummering: Featuretools automatiserer konstruktionen af egenskaber. Opret et EntitySet, registrer tabeller med es.add_dataframe, definér relationer, og kør derefter ft.dfs med max_depth. Aggregeringsprimitiver samler rækker fra underordnede enheder i overordnede enheder; transformationsprimitiver arbejder inden for en række. feature_matrix er klar til en model, men bør kombineres med udvælgelse af egenskaber.
Lær Python med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 53
- Lektioner
- 225
Ofte stillede spørgsmål
Er lektionen “Automatiseret feature engineering med Featuretools” gratis?
Ja — alle 3 lektioner i læringssporet Lær AI med Python, inklusive “Automatiseret feature engineering med Featuretools”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Lær AI med Python-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Automatiseret feature engineering med Featuretools”?
EntitySet, DFS (Deep Feature Synthesis), feature-primitiver, stacking-aggregationer. Du øver dig i Lær AI med Python med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Lær AI med Python?
Der kræves ingen tidligere erfaring. Lær AI med Python på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.
Hvor lang tid tager lektionen “Automatiseret feature engineering med Featuretools”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Lær AI med Python-lektion?
Ja. Alle Lær AI med Python-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Metoder til featureudvælgelse
- Oprettelse af interaktions- og polynomielle features
- Target encoding og avanceret håndtering af kategoriske data
- Automatiseret feature engineering med Featuretools