시작하기무료로 시작하기

정밀도, ROI, 그리고 AUC

투자 수익률(ROI)은 정밀도에 수익 대비 비용의 비율을 곱한 형태로 분해할 수 있어요. 앞서 설명했듯이, ROC 곡선의 AUC가 높더라도 모델의 정밀도는 낮을 수 있어요. 정밀도가 낮으면 ROI도 낮아집니다. 이번 연습 문제에서는 고정된 r(노출 수 대비 클릭 1건의 수익)과 cost(노출 수 대비 비용)를 가정하고, 정밀도와 ROC 곡선의 AUC 값을 함께 사용해 MLP로 예시 ROI를 계산하여 세 값이 어떻게 달라지는지 확인해 봅니다.

X_train, y_train, X_test, y_test가 작업 공간에 준비되어 있고, clf는 MLP 분류기이며, 확률 점수는 y_score에, 예측 타깃은 y_pred에 저장되어 있어요. 또한 pandaspd로, sklearn도 사용할 수 있어요.

이 연습은 강의의 일부입니다

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

강의 보기

연습 안내

  • MLP 분류기의 정밀도 prec를 계산하세요.
  • 정밀도 prec를 기반으로 총 ROI를 계산하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Get precision and total ROI
prec = ____(y_test, ____, average = 'weighted')
r = 0.2
cost = 0.05 
roi = ____ * r / cost

# Get AUC
roc_auc = roc_auc_score(y_test, y_score[:, 1])

print("Total ROI: %s, Precision: %s, AUC of ROC curve: %s" %(
  roi, prec, roc_auc))
코드 편집 및 실행