Classificazione: feature engineering

Esercitarsi con le domande di colloquio di Machine Learning in Python

Lisa Stuart

Data Scientist

Feature engineering... perché?

  • Estrae informazioni aggiuntive dai dati
  • Crea feature rilevanti
  • Uno dei modi più efficaci per migliorare i modelli predittivi
Esercitarsi con le domande di colloquio di Machine Learning in Python

Vantaggi del feature engineering

  • Maggior potere predittivo dell'algoritmo
  • Migliora ulteriormente le performance dei modelli ML
Esercitarsi con le domande di colloquio di Machine Learning in Python

Tipi di feature engineering

  • Variabili indicatrici
  • Feature di interazione
  • Rappresentazione delle feature
Esercitarsi con le domande di colloquio di Machine Learning in Python

Variabili indicatrici

  • Indicatore soglia
    • età: liceo vs università
  • Più feature
    • usate come flag
  • Eventi speciali
    • Black Friday
    • Natale
  • Gruppi di classi
    • flag traffico a pagamento del sito
      • Google AdWords{4}}
      • Facebook Ads
Esercitarsi con le domande di colloquio di Machine Learning in Python

Feature di interazione

  • Somma
  • Differenza
  • Prodotto
  • Quoziente
  • Altre combinazioni matematiche
Esercitarsi con le domande di colloquio di Machine Learning in Python

Rappresentazione delle feature

  • Timestamp
    • Giorno della settimana
    • Ora del giorno
  • Raggruppa categorie in "Altro"
  • Trasforma categorie in variabili dummy
    • (k - 1) colonne binarie
Esercitarsi con le domande di colloquio di Machine Learning in Python

Livelli categoriali diversi

  • Dati di training:
    • modello addestrato con [red, blue, green]
  • Dati di test:

    • modello testato con [red, green, yellow]
    • colore aggiuntivo non visto nel training
    • un colore mancante
  • One-hot encoding robusto

1 https://blog.cambridgespark.com/robust-one-hot-encoding-in-python-3e29bfcec77e
Esercitarsi con le domande di colloquio di Machine Learning in Python

Rapporto debito/reddito

  • Monthly Debt
  • Annual Income/12
Esercitarsi con le domande di colloquio di Machine Learning in Python

Funzioni di feature engineering

Funzione restituisce
sklearn.linear_model.LogisticRegression regressione logistica
sklearn.model_selection.train_test_split funzione train/test split
sns.countplot(x='Loan Status', data=data) grafico a barre
df.drop(['Feature 1', 'Feature 2'], axis=1) rimuove una lista di feature
df["Loan Status"].replace({'Paid': 0, 'Not Paid': 1}) Loan Status come interi
pd.get_dummies() k - 1 feature binarie
sklearn.metrics.accuracy_score(y_test, predict(X_test)) accuratezza del modello
Esercitarsi con le domande di colloquio di Machine Learning in Python

Un ottimo tutorial:

Esercitarsi con le domande di colloquio di Machine Learning in Python

Passons à la pratique !

Esercitarsi con le domande di colloquio di Machine Learning in Python

Preparing Video For Download...