Prevedere le transazioni dei clienti

Machine Learning per il marketing con Python

Karolis Urbonas

Head of Analytics & Science, Amazon

Approccio di modellazione

  • Regressione lineare per prevedere le transazioni del mese successivo.
  • Stessi passaggi di modellazione della regressione logistica.
Machine Learning per il marketing con Python

Passaggi di modellazione

  1. Dividi i dati in training e test
  2. Inizializza il modello
  3. Adatta il modello sui dati di training
  4. Predici i valori sui dati di test
  5. Valuta le prestazioni sui dati di test
Machine Learning per il marketing con Python

Metriche di performance per la regressione

Metriche chiave:

  • Root mean squared error (RMSE) - Radice dell'errore quadratico medio tra previsione e valore reale
  • Mean absolute error (MAE) - Errore assoluto medio tra previsione e valore reale
  • Mean absolute percentage error (MAPE) - Errore percentuale assoluto medio (i valori reali non possono essere zero)
Machine Learning per il marketing con Python

Altre metriche per regressione e apprendimento supervisionato

  • R-quadro - misura statistica della quota di varianza spiegata dal modello. Solo per regressione, non per classificazione. Più alto è meglio.

  • p-value dei coefficienti - probabilità che il coefficiente (di regressione o classificazione) sia osservato per caso. Più basso è meglio. Soglie tipiche: 5% e 10%.

Machine Learning per il marketing con Python

Adattare il modello

# Importa il modulo di regressione lineare
from sklearn.linear_model import LinearRegression

# Inizializza l'istanza di regressione linreg = LinearRegression()
# Adatta il modello sui dati di training linreg.fit(train_X, train_Y)
# Predici sui dati di training e di test train_pred_Y = linreg.predict(train_X) test_pred_Y = linreg.predict(test_X)
Machine Learning per il marketing con Python

Misurare le prestazioni del modello

# Importa le funzioni per misurare le prestazioni
from sklearn.metrics import mean_absolute_error
from sklearn.metrics import mean_squared_error

# Calcola le metriche sui dati di training rmse_train = np.sqrt(mean_squared_error(train_Y, train_pred_Y)) mae_train = mean_absolute_error(train_Y, train_pred_Y)
# Calcola le metriche sui dati di test rmse_test = np.sqrt(mean_squared_error(test_Y, test_pred_Y)) mae_test = mean_absolute_error(test_Y, test_pred_Y)
# Stampa le metriche di prestazione print('RMSE train: {:.3f}; RMSE test: {:.3f}\nMAE train: {:.3f}, MAE test: {:.3f}'.format( rmse_train, rmse_test, mae_train, mae_test))
RMSE train: 0.717; RMSE test: 1.216
MAE train: 0.514, MAE test: 0.555
Machine Learning per il marketing con Python

Interpretare i coefficienti

  • Serve valutare la significatività statistica
  • Introduzione alla libreria statsmodels
  • Fornisce un riepilogo dettagliato del modello
Machine Learning per il marketing con Python

Costruire una regressione con statsmodels

# Importa la libreria
import statsmodels.api as sm

# Converti la variabile target in array `numpy` train_Y = np.array(train_Y)
# Inizializza e adatta il modello olsreg = sm.OLS(train_Y, train_X) olsreg = olsreg.fit()
# Stampa il riepilogo del modello print(olsreg.summary())
Machine Learning per il marketing con Python

Tabella riepilogo regressione

Riepilogo OLS

Machine Learning per il marketing con Python

Interpretare R-quadro

R-quadro

Machine Learning per il marketing con Python

Interpretare i p-value dei coefficienti

p-value dei coefficienti

Machine Learning per il marketing con Python

Costruiamo qualche modello di regressione!

Machine Learning per il marketing con Python

Preparing Video For Download...