IT&컴퓨터공학/데이터분석개론

[데이터분석개론] 머신러닝과 Performance Evaluation

yan_z 2021. 2. 12. 12:47

머신러닝 개요

 

머신러닝은 크게 

 

  • Supervised Learning ( 지도학습 ) : 내가 타겟하고 있는 값이 있다. 그 타겟하고있는 값을 잘 분류하거나 예측해줘 !
  • Unsupervised Learning ( 비지도학습 ) : 뭘 설명하고있는지는 모르지만 그냥 이 데이터간에 어떻게 다른지 알고싶어 ! 잘 분류해봐
  • Reinforcement Learning ( 강화학습 ) 

로 이루어져 있다.

 

머신러닝 과정 

 

Raw Data 를 가지고 전처리 과정을 거친다. ( 앞에서 배운 PCA 와 같은 )

이 전처리된 데이터를 가지고 머신러닝 과정을 진행한다.

 

Simple Linear Regression ( 단순 선형 회귀분석 )

위의 그림에서 볼 수 있듯이 ,

약의 복용량과 지속기간에 대한 데이터는 빨간 점의 형태로 찍혀 있다.

이 빨간 점들을 지나는 직선을 그리는걸 선형 회귀분석이라고 하는데, 이때는 오차가 가장 적은 직선을 그려야 한다.

즉, 편차제곱합이 최소화 되는 직선을 찾아야 한다.

 

그럼 내가 직선을 얼마나 제대로 그렸는지 어떻게 확인 할 수 있을까  ? 

 

 

이는 결정계수  ( R^2 ) 으로 측정할 수 있다. 이 결정계수가 1에 가까울 수록 모델의 설명력이 좋고, 0 에 가까울수록 설명력이 없다고 결론내릴 수 있다.

 

그러나, 이 결정계수가 모델의 진짜 성능을 설명한다고는 말할 수 없다.

모델의 진짜 성능은 새로운 데이터가 들어왔을때 얼마나 오차가 적게, 제대로 예측하느냐 인데,

결정계수는 그저 모델이 얼마나 train data 에 잘 적합되어있는지만을 나타낸다.

 

예를들어 앞에서 배운 overfitting model 의 경우, train data 에 과적합 되어있으므로

결정계수는 거의 1에 가까울 정도로 모델의 설명력이 좋지만,

새로운 데이터가 들어오면 큰 오차를 발생시키므로 좋은 모델이라고 할 수 없다.

 

즉 우리가 만든 모델이 적합한가 ? 를 판단할 땐

 

1. 결정계수가 높은가 ?
2. 새로운 데이터가 들어왔을때에도 설명력이 계속 유지되는가 ?

 

이 두가지 요소를 모두 고려해야한다.

 

 

머신러닝으로 예측할 수 있는 결과

 

  • Predicted numerical value : 숫자로 예측된 결과          ex) 철수가 수학 점수를 몇점을 받을거같아 ?
  • Predicted class membership : 숫자 이외의 것들로 분류된 결과       ex) 철수가 A,B,C 학점 중에 어떤 학점을 받을거 같아 ? 

즉 우리는 보통 예측을 하거나 분류를 한다.