Predicția tranzacțiilor clienților

Machine Learning pentru Marketing în Python

Karolis Urbonas

Head of Analytics & Science, Amazon

Abordarea de modelare

  • Regresie liniară pentru predicția tranzacțiilor din luna următoare.
  • Aceiași pași de modelare ca la regresia logistică.
Machine Learning pentru Marketing în Python

Pașii de modelare

  1. Împărțirea datelor în seturi de antrenament și testare
  2. Inițializarea modelului
  3. Antrenarea modelului pe datele de antrenament
  4. Predicția valorilor pe datele de testare
  5. Măsurarea performanței modelului pe datele de testare
Machine Learning pentru Marketing în Python

Metrici de performanță pentru regresie

Metrici cheie:

  • Eroarea pătratică medie (RMSE) - Rădăcina pătrată a mediei pătratelor diferențelor dintre predicții și valori reale
  • Eroarea absolută medie (MAE) - Media diferențelor absolute dintre predicții și valori reale
  • Eroarea procentuală absolută medie (MAPE) - Media diferențelor procentuale absolute dintre predicții și valori reale (valorile reale nu pot fi zero)
Machine Learning pentru Marketing în Python

Metrici suplimentare pentru regresie și învățare supervizată

  • R-squared - măsură statistică ce reprezintă proporția varianței explicate de model. Aplicabil doar regresiei, nu clasificării. O valoare mai mare este mai bună.

  • Valorile p ale coeficienților - probabilitatea că un coeficient de regresie (sau clasificare) este observat din întâmplare. O valoare mai mică este mai bună. Praguri tipice: 5% și 10%.

Machine Learning pentru Marketing în Python

Antrenarea modelului

# 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 pentru Marketing în Python

Măsurarea performanței modelului

# 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 pentru Marketing în Python

Interpretarea coeficienților

  • Necesitatea evaluării semnificației statistice
  • Introducere în biblioteca statsmodels
  • Oferă un rezumat detaliat al modelului
Machine Learning pentru Marketing în Python

Construirea modelului de regresie cu 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 pentru Marketing în Python

Tabelul rezumativ al regresiei

Rezumat OLS

Machine Learning pentru Marketing în Python

Interpretarea R-squared

R-squared

Machine Learning pentru Marketing în Python

Interpretarea valorilor p ale coeficienților

Valorile p ale coeficienților

Machine Learning pentru Marketing în Python

Să construim modele de regresie!

Machine Learning pentru Marketing în Python

Preparing Video For Download...