Ingegneria automatizzata delle feature con Featuretools
EntitySet, DFS (Deep Feature Synthesis), primitive delle feature, aggregazioni a livelli
Ingegneria automatizzata delle feature con Featuretools è una lezione Learn AI with Python gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Learn AI with Python, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Learn AI with Python include 4 lezioni in totale.
Automatizzare la creazione delle feature
La creazione manuale delle feature è lenta e rende facile trascurare alcune combinazioni. Featuretools costruisce automaticamente molte feature candidate a partire da dati relazionali, utilizzando un metodo chiamato Deep Feature Synthesis.
Dati relazionali ed entità
I dati reali spesso sono distribuiti su più tabelle correlate: clienti, ordini e prodotti. Featuretools modella queste relazioni e genera automaticamente feature che aggregano i dati attraverso i collegamenti.
Creare un EntitySet
Un EntitySet è il contenitore che raccoglie i vostri dataframe e le loro relazioni. Inizi creando un contenitore vuoto.
import featuretools as ft
es = ft.EntitySet(id="customers_data")Aggiungere dataframe
es.add_dataframe registra una tabella. È necessario specificare il suo index (chiave univoca) e, facoltativamente, un time_index per i dati temporali.
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",
)Definire le relazioni
Indichi a Featuretools come si collegano le tabelle con add_relationship: una chiave del genitore collega una chiave esterna del figlio (un cliente può avere molti ordini).
es = es.add_relationship(
"customers", "customer_id",
"orders", "customer_id",
)Deep Feature Synthesis
DFS (ft.dfs) è il motore che esegue l'operazione. Combina operazioni attraverso le relazioni per creare feature come la "spesa media per ordine di ogni cliente", senza che debba programmare ciascuna feature manualmente.
import featuretools as ft
feature_matrix, feature_defs = ft.dfs(
entityset=es,
target_dataframe_name="customers",
)Primitive di aggregazione
Le primitive di aggregazione riassumono le righe figlie nel record genitore: SUM, MEAN, COUNT, MAX, STD. Trasformano molti ordini in statistiche per cliente.
feature_matrix, defs = ft.dfs(
entityset=es,
target_dataframe_name="customers",
agg_primitives=["mean", "sum", "count", "max"],
)Primitive di trasformazione
Le primitive di trasformazione operano all'interno di una singola riga o tabella: estraggono il mese da una data, calcolano il tempo trascorso o restituiscono i valori assoluti.
feature_matrix, defs = ft.dfs(
entityset=es,
target_dataframe_name="customers",
trans_primitives=["month", "weekday", "time_since_previous"],
)Controllare la profondità con max_depth
max_depth limita il numero di primitive che possono essere combinate. La profondità 1 corrisponde alle aggregazioni dirette; la profondità 2 applica una trasformazione seguita da un'aggregazione (ad esempio, la media del giorno della settimana degli ordini). Una profondità maggiore produce più feature, ma anche più rischiose.
feature_matrix, defs = ft.dfs(
entityset=es,
target_dataframe_name="customers",
max_depth=2,
)Utilizzare la matrice delle feature
La feature_matrix risultante è un dataframe ordinato indicizzato dall'entità target, pronto per essere fornito a un modello. feature_defs documenta ogni feature generata.
print(feature_matrix.shape)
print(feature_matrix.head())
X = feature_matrix.fillna(0)
# now train any sklearn model on XPunti di forza e precauzioni
Featuretools produce rapidamente molte feature e porta alla luce segnali relazionali. Tuttavia, può generare centinaia di colonne, quindi lo abbini alla selezione delle feature. Con i dati temporali, presti attenzione al leakage impostando correttamente cutoff_time.
Verifica rapida
Verifichi la sua conoscenza di Featuretools.
Riepilogo
Riepilogo: Featuretools automatizza la creazione delle feature. Costruisca un EntitySet, registri le tabelle con es.add_dataframe, definisca le relazioni, quindi esegua ft.dfs con max_depth. Le primitive di aggregazione riportano le righe figlie ai genitori; le primitive di trasformazione operano all'interno di una riga. La feature_matrix è pronta per il modello: la abbini alla selezione delle feature.
Domande Frequenti
La lezione «Ingegneria automatizzata delle feature con Featuretools» è gratuita?
Sì — il testo completo di «Ingegneria automatizzata delle feature con Featuretools» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Learn AI with Python, passa a CoddyKit PRO. Il corso Learn AI with Python include 4 lezioni in totale.
Cosa imparerò in «Ingegneria automatizzata delle feature con Featuretools»?
EntitySet, DFS (Deep Feature Synthesis), primitive delle feature, aggregazioni a livelli Eserciti Learn AI with Python con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Learn AI with Python?
Non è richiesta alcuna esperienza precedente. Learn AI with Python su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Ingegneria automatizzata delle feature con Featuretools»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Learn AI with Python?
Sì. Ogni lezione Learn AI with Python include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Metodi di selezione delle feature
- Creazione di feature di interazione e polinomiali
- Target encoding e gestione avanzata delle variabili categoriche
- Ingegneria automatizzata delle feature con Featuretools