예측 분석

데이터를 이용해 예측 분석을 하는 방법을 알아봅니다


수강중

6. 모형 선택

모형 만들기

  • 예측 분석을 위해서는 많은 모형을 만들게 됨
    • 서로 다른 종류의 모형 만들기
      • 예) 선형 회귀, 회귀 나무, 인공 신경망, SVM등
    • 같은 종류의 모형을 다양하게 만들기
      • 예) K-NN에서 K가 가질 수 있는 값 = {3, 4, 5, 6, 7, ...}
      • 몇 개(K)의 이웃한 자료를 참고해 값을 예측할 것인가는 직접 정해주어야 함 = 튜닝 파라미터

어떤 모형이 더 좋은 모형일까?

평가 점수(Evaluation Metrics / Performance profile)

  • 좋은 모형을 알아내기 위해서는 각 모형이 얼마나 좋은 모형인지를 말해주는 점수가 필요함
  • Accuracy, per-class Accuracy, Kappa, AUC, ...

Accuracy

  • Accuracy = (TP+TN) / (TP+FP+FN+TN)
  • 전체를 예측했을 때 맞춘 비율
Predicted observed_Event observed_Nonevent
Event TP EP
Nonevent FN TN

Kappa

  • Kappa = (O - E) / (1 - E)
  • O: Observed Accuracy
    • 모형을 만들어서 실제로 계산했을 때 암인 사람을 얼마나 암으로 잘 분류할 수 있는가
  • E: Expected Accuracy
    • 각각의 이벤트에서 예측되는 accuracy
    • 암에 걸린 사람이 70%일 때 모형을 만들지 않고 모두가 암에 걸렸다고 하면 70%의 정답률을 가짐
  • Kappa가 1에 가까울 수록 완벽하게 예측
  • Kappa가 0에 가깝거나 음수라면 모형으로서의 가치가 없음

per-class Accuracy: 민감도, 특이도

  • 민감도: TP/(TP+FN)
    • 암인 사람을 얼마나 암으로 잘 분류할 수 있는가
  • 특이도: TN/(FP+TN)

    • 암이 아닌 사람을 얼마나 잘 암이 아니라고 잘 분류할 수 있는가
  • Accuracy보다 각 class의 정보를 더 많이 담고 있음

  • 민감도가 높지만 특이도가 낮을 수 있으며 민감도가 낮지만 특이도가 높을 수도 있음
  • 민감도와 특이도의 중요성
    • 예측하려고 하는 값들의 가치가 동일하지 않을 수 있기 때문에
    • 예) 암에 걸린 사람을 양성이라고 예측하는 것과 암에 걸리지 않는 사람을 음성이라고 예측하는 것의 중요성은 다르기 때문에 특이도보다 민감도가 중요함
Predicted observed_Event observed_Nonevent
Event TP EP
Nonevent FN TN

AUC(Area Under the Curve)

  • ROC 커브
    • 분류기준을 바꿔가면서 계산하면 민감도와 특이도를 한 자료에 대해 여러 개를 구할 수 있음
    • 이렇게 구한 민감도와 특이도를 보여주는 게 ROC 커브
  • AUC는 여러 개 구해진 민감도와 특이도를 하나로 요약해주는 점수임
    • ROC 커브 밑의 넓이
    • 1에 가까울수록 완벽한 모형