의사결정나무로 CTR 예측

Python으로 Machine Learning을 활용한 CTR 예측

Kevin Huo

Instructor

의사결정나무

나이와 학생 여부로 대출 승인 결정하는 의사결정나무 예시

  • 노드는 특성을 나타냅니다
  • 가지는 특성에 따른 결정을 나타냅니다
  • 예시 결과는 아래 표와 같습니다:
  • 첫 분할은 신청자의 나이 기준
  • 청년 그룹은 두 번째로 학생 여부 기준 분할
  • 모델은 해석을 위한 휴리스틱을 제공합니다
is_student loan
middle_aged 1
youth no 0
youth yes 1
Python으로 Machine Learning을 활용한 CTR 예측

모델 학습과 테스트

  • 생성: clf = DecisionTreeClassifier()
  • 로지스틱 회귀와 유사하게, 학습은 clf.fit(X_train, y_train), 예측 라벨은 clf.predict(X_test):

    array([0, 1, 1, ..., 1, 0, 1])
    
  • 확률 예측: clf.predict_proba(X_test)

    array([0.2, 0.8], [0.4, 0.6] ..., [0.1, 0.9] [0.3, 0.7]])
    
  • 학습/테스트를 무작위 분할(테스트 30%): train_test_split(X, y, test_size = .3, random_state = 0)

Python으로 Machine Learning을 활용한 CTR 예측

ROC 곡선으로 평가

분류기의 ROC 곡선 아래 면적(AUC) 예시

  • 진양성률(Y축) = #(양성으로 예측, 실제 양성) / #(양성)
  • 위양성률(X축) = #(양성으로 예측, 실제 음성) / #(음성)
  • 점선 파랑: 기준 AUC 0.5
  • 주황선(AUC)은 1에 가까울수록 좋습니다
Python으로 Machine Learning을 활용한 CTR 예측

ROC AUC

Y_score = clf.predict_proba(X_test)
fpr, tpr, thresholds = roc_curve(Y_test, Y_score[:, 1])
  • roc_curve() 입력: 테스트 라벨과 스코어 배열
roc_auc = auc(fpr, tpr)
  • auc() 입력: 위양성, 진양성 배열

  • 모델이 정확하고 CTR이 낮다면, 광고 메시지 전달 방식과 타깃 오디언스를 재검토하십시오

Python으로 Machine Learning을 활용한 CTR 예측

연습해 봅시다!

Python으로 Machine Learning을 활용한 CTR 예측

Preparing Video For Download...