0Pricing
Learn AI with Python · Lezione

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 X

Punti 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

  1. Metodi di selezione delle feature
  2. Creazione di feature di interazione e polinomiali
  3. Target encoding e gestione avanzata delle variabili categoriche
  4. Ingegneria automatizzata delle feature con Featuretools
← Torna a Learn AI with Python