Předpovídání transakcí zákazníků

Machine Learning for Marketing in Python

Karolis Urbonas

Head of Analytics & Science, Amazon

Postup modelování

  • Lineární regrese pro předpověď transakcí v příštím měsíci.
  • Stejný postup modelování jako u logistické regrese.
Machine Learning for Marketing in Python

Kroky modelování

  1. Rozdělení dat na trénovací a testovací
  2. Inicializace modelu
  3. Trénování modelu na trénovacích datech
  4. Předpověď hodnot na testovacích datech
  5. Měření výkonu modelu na testovacích datech
Machine Learning for Marketing in Python

Metriky výkonu regrese

Klíčové metriky:

  • Střední kvadratická chyba (RMSE) – Druhá odmocnina průměru čtverců rozdílů mezi předpovědí a skutečností
  • Střední absolutní chyba (MAE) – Průměr absolutních rozdílů mezi předpovědí a skutečností
  • Střední absolutní procentuální chyba (MAPE) – Průměr procentuálních rozdílů mezi předpovědí a skutečností (skutečné hodnoty nesmí být nulové)
Machine Learning for Marketing in Python

Další metriky pro regresi a řízené učení

  • R-squared – statistická míra vyjadřující podíl rozptylu vysvětleného modelem. Platí pouze pro regresi, nikoli pro klasifikaci. Vyšší hodnota je lepší.

  • P-hodnoty koeficientů – pravděpodobnost, že regresní (nebo klasifikační) koeficient je pozorován náhodou. Nižší hodnota je lepší. Typické hranice jsou 5 % a 10 %.

Machine Learning for Marketing in Python

Trénování modelu

# 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 for Marketing in Python

Měření výkonu modelu

# 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 for Marketing in Python

Interpretace koeficientů

  • Je třeba posoudit statistickou významnost
  • Úvod do knihovny statsmodels
  • Poskytuje podrobný souhrn modelu
Machine Learning for Marketing in Python

Sestavení regresního modelu pomocí 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 for Marketing in Python

Tabulka souhrnu regrese

Souhrn OLS

Machine Learning for Marketing in Python

Interpretace R-squared

R-squared

Machine Learning for Marketing in Python

Interpretace p-hodnot koeficientů

P-hodnoty koeficientů

Machine Learning for Marketing in Python

Pojďme sestavit regresní modely!

Machine Learning for Marketing in Python

Preparing Video For Download...