Prédire les transactions clients

Machine Learning pour le marketing en Python

Karolis Urbonas

Head of Analytics & Science, Amazon

Approche de modélisation

  • Régression linéaire pour prédire les transactions du mois prochain.
  • Même démarche de modélisation que pour la régression logistique.
Machine Learning pour le marketing en Python

Étapes de modélisation

  1. Diviser les données en apprentissage et test
  2. Initialiser le modèle
  3. Ajuster le modèle sur les données d'apprentissage
  4. Prédire sur les données de test
  5. Mesurer les performances sur les données de test
Machine Learning pour le marketing en Python

Mesures de performance en régression

Indicateurs clés :

  • Root mean squared error (RMSE) : racine de la moyenne des carrés des écarts entre prédictions et valeurs réelles
  • Mean absolute error (MAE) : moyenne des écarts absolus entre prédictions et valeurs réelles
  • Mean absolute percentage error (MAPE) : moyenne des écarts absolus en pourcentage entre prédictions et valeurs réelles (les valeurs réelles ne peuvent pas être nulles)
Machine Learning pour le marketing en Python

Autres métriques de régression et d'apprentissage supervisé

  • R-carré : mesure statistique indiquant la part de variance expliquée par le modèle. Valable uniquement pour la régression, pas la classification. Plus c'est élevé, mieux c'est.

  • p-values des coefficients : probabilité que le coefficient de régression (ou de classification) soit observé par hasard. Plus c'est faible, mieux c'est. Seuils typiques : 5 % et 10 %.

Machine Learning pour le marketing en Python

Ajuster le modèle

# Import the linear regression module
from sklearn.linear_model import LinearRegression

# Initialize the regression instance linreg = LinearRegression()
# Fit model on the training data linreg.fit(train_X, train_Y)
# Predict values on both training and testing data train_pred_Y = linreg.predict(train_X) test_pred_Y = linreg.predict(test_X)
Machine Learning pour le marketing en Python

Mesurer les performances du modèle

# Import performance measurement functions
from sklearn.metrics import mean_absolute_error
from sklearn.metrics import mean_squared_error

# Calculate metrics for training data rmse_train = np.sqrt(mean_squared_error(train_Y, train_pred_Y)) mae_train = mean_absolute_error(train_Y, train_pred_Y)
# Calculate metrics for testing data rmse_test = np.sqrt(mean_squared_error(test_Y, test_pred_Y)) mae_test = mean_absolute_error(test_Y, test_pred_Y)
# Print performance metrics 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 pour le marketing en Python

Interpréter les coefficients

  • Évaluer la significativité statistique
  • Présentation de la bibliothèque statsmodels
  • Fournit un résumé détaillé du modèle
Machine Learning pour le marketing en Python

Construire un modèle de régression avec statsmodels

# Import the library
import statsmodels.api as sm

# Convert target variable to `numpy` array train_Y = np.array(train_Y)
# Initialize and fit the model olsreg = sm.OLS(train_Y, train_X) olsreg = olsreg.fit()
# Print model summary print(olsreg.summary())
Machine Learning pour le marketing en Python

Tableau récapitulatif de la régression

Résumé OLS

Machine Learning pour le marketing en Python

Interpréter R-carré

R-carré

Machine Learning pour le marketing en Python

Interpréter les p-values des coefficients

p-values des coefficients

Machine Learning pour le marketing en Python

Passons à la pratique !

Machine Learning pour le marketing en Python

Preparing Video For Download...