Memprediksi transaksi pelanggan

Machine Learning untuk Pemasaran dengan Python

Karolis Urbonas

Head of Analytics & Science, Amazon

Pendekatan pemodelan

  • Regresi linear untuk memprediksi transaksi bulan depan.
  • Langkah pemodelan sama seperti regresi logistik.
Machine Learning untuk Pemasaran dengan Python

Langkah pemodelan

  1. Split data menjadi train dan test
  2. Inisialisasi model
  3. Fit model pada data train
  4. Prediksi nilai pada data test
  5. Ukur performa model pada data test
Machine Learning untuk Pemasaran dengan Python

Metrik performa regresi

Metrik utama:

  • Root mean squared error (RMSE) - Akar dari rata-rata selisih kuadrat antara prediksi dan aktual
  • Mean absolute error (MAE) - Rata-rata selisih absolut antara prediksi dan aktual
  • Mean absolute percentage error (MAPE) - Rata-rata selisih persentase antara prediksi dan aktual (nilai aktual tidak boleh nol)
Machine Learning untuk Pemasaran dengan Python

Metrik tambahan untuk regresi dan pembelajaran terawasi

  • R-squared - ukuran statistik yang menunjukkan persentase varians yang dijelaskan model. Hanya untuk regresi, bukan klasifikasi. Lebih tinggi lebih baik.

  • p-value koefisien - probabilitas koefisien regresi (atau klasifikasi) muncul karena kebetulan. Lebih rendah lebih baik. Ambang umum 5% dan 10%.

Machine Learning untuk Pemasaran dengan Python

Melatih model

# 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 untuk Pemasaran dengan Python

Mengukur performa model

# 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 untuk Pemasaran dengan Python

Menafsirkan koefisien

  • Perlu menilai signifikansi statistik
  • Pengenalan pustaka statsmodels
  • Menyajikan ringkasan model mendalam
Machine Learning untuk Pemasaran dengan Python

Bangun model regresi dengan 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 untuk Pemasaran dengan Python

Tabel ringkasan regresi

Ringkasan OLS

Machine Learning untuk Pemasaran dengan Python

Menafsirkan R-squared

R-squared

Machine Learning untuk Pemasaran dengan Python

Menafsirkan p-value koefisien

p-value koefisien

Machine Learning untuk Pemasaran dengan Python

Mari bangun beberapa model regresi!

Machine Learning untuk Pemasaran dengan Python

Preparing Video For Download...