Prédire les transactions des clients

Machine Learning pour le marketing en Python

Karolis Urbonas

Head of Analytics & Science, Amazon

Démarche 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 entraînement et test
  2. Initialiser le modèle
  3. Ajuster le modèle sur les données d'entraînement
  4. Prédire sur les données de test
  5. Mesurer la performance sur les données de test
Machine Learning pour le marketing en Python

Indicateurs de performance en régression

Indicateurs clés :

  • Erreur quadratique moyenne (RMSE) — racine carrée de la moyenne des carrés des écarts entre prédictions et valeurs réelles
  • Erreur absolue moyenne (MAE) — moyenne des écarts absolus entre prédictions et valeurs réelles
  • Erreur absolue moyenne en pourcentage (MAPE) — écart moyen 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 mesures pour la régression et l'apprentissage supervisé

  • R carré — mesure statistique représentant la proportion de variance expliquée par le modèle. Valable seulement pour la régression, pas la classification. Plus c'est élevé, mieux c'est.

  • Valeurs p des coefficients — probabilité qu'un 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

# Importer le module de régression linéaire
from sklearn.linear_model import LinearRegression

# Initialiser l'instance de régression linreg = LinearRegression()
# Ajuster le modèle sur les données d'entraînement linreg.fit(train_X, train_Y)
# Prédire sur les données d'entraînement et de test train_pred_Y = linreg.predict(train_X) test_pred_Y = linreg.predict(test_X)
Machine Learning pour le marketing en Python

Mesurer la performance du modèle

# Importer les fonctions de mesure de performance
from sklearn.metrics import mean_absolute_error
from sklearn.metrics import mean_squared_error

# Calculer les indicateurs pour l'entraînement rmse_train = np.sqrt(mean_squared_error(train_Y, train_pred_Y)) mae_train = mean_absolute_error(train_Y, train_pred_Y)
# Calculer les indicateurs pour le test rmse_test = np.sqrt(mean_squared_error(test_Y, test_pred_Y)) mae_test = mean_absolute_error(test_Y, test_pred_Y)
# Afficher les indicateurs de performance 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 signification statistique
  • Introduction à la bibliothèque statsmodels
  • Fournit un sommaire détaillé du modèle
Machine Learning pour le marketing en Python

Modèle de régression avec statsmodels

# Importer la bibliothèque
import statsmodels.api as sm

# Convertir la variable cible en tableau `numpy` train_Y = np.array(train_Y)
# Initialiser et ajuster le modèle olsreg = sm.OLS(train_Y, train_X) olsreg = olsreg.fit()
# Afficher le sommaire du modèle print(olsreg.summary())
Machine Learning pour le marketing en Python

Table de sommaire de la régression

Sommaire OLS

Machine Learning pour le marketing en Python

Interpréter R carré

R carré

Machine Learning pour le marketing en Python

Interpréter les valeurs p des coefficients

Valeurs p des coefficients

Machine Learning pour le marketing en Python

Créons des modèles de régression !

Machine Learning pour le marketing en Python

Preparing Video For Download...