고객 거래 예측

Python으로 배우는 마케팅용 Machine Learning

Karolis Urbonas

Head of Analytics & Science, Amazon

모형화 접근법

  • 다음 달 거래 건수 예측을 위한 선형회귀
  • 로지스틱 회귀와 동일한 단계 적용
Python으로 배우는 마케팅용 Machine Learning

모형화 단계

  1. 데이터를 학습/테스트로 분할
  2. 모형 초기화
  3. 학습 데이터로 적합
  4. 테스트 데이터 예측
  5. 테스트에서 성능 측정
Python으로 배우는 마케팅용 Machine Learning

회귀 성능 지표

핵심 지표:

  • RMSE(평균제곱근오차): 예측값과 실제값의 제곱오차 평균의 제곱근
  • MAE(평균절대오차): 예측값과 실제값의 절대오차 평균
  • MAPE(평균절대백분율오차): 예측값과 실제값의 백분율 오차 평균(실제값은 0이면 안 됨)
Python으로 배우는 마케팅용 Machine Learning

추가 회귀 및 지도학습 지표

  • R-squared: 모형이 설명하는 분산 비율(%)을 나타내는 통계량. 회귀에만 적용, 분류에는 적용되지 않음. 높을수록 좋음.

  • 계수 p-값: 회귀(또는 분류) 계수가 우연에 의해 관측될 확률. 낮을수록 좋음. 일반 임계값은 5%, 10%.

Python으로 배우는 마케팅용 Machine Learning

모형 적합

# 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)
Python으로 배우는 마케팅용 Machine Learning

모형 성능 측정

# 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
Python으로 배우는 마케팅용 Machine Learning

계수 해석

  • 통계적 유의성 평가 필요
  • statsmodels 라이브러리 소개
  • 상세한 모형 요약 제공
Python으로 배우는 마케팅용 Machine Learning

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())
Python으로 배우는 마케팅용 Machine Learning

회귀 요약 표

OLS 요약

Python으로 배우는 마케팅용 Machine Learning

R-squared 해석

결정계수(R-squared)

Python으로 배우는 마케팅용 Machine Learning

계수 p-값 해석

계수 p-값

Python으로 배우는 마케팅용 Machine Learning

회귀 모형을 직접 만들어 봅시다!

Python으로 배우는 마케팅용 Machine Learning

Preparing Video For Download...