Regression learner 결과 해석
앞선 글에서 regression learner에서 가장 범용성 높은 앙상블 모델을 학습하고 최적화하는 방법에 대해서 적었습니다. 이번 글에서는 결과를 어떻게 확인하는 지에 대해서 적어보겠습니다. 학습하는 방법은 이전 글에 나와있습니다.
2024.11.09 - [공학자를 위한 머신러닝/Matlab을 사용한 머신러닝] - Regression Learner (회귀학습기)
Regression Learner (회귀학습기)
Regression learner를 쓰는 이유 앞서 적은 곡선 피팅기는 변수가 한 개이거나 두 개인 곡선만 피팅할 수 있었습니다. 그러나 수학적으로 모델링이 어렵거나, 그것보다 더 복잡한 모델을 만들어야
me-ai-bigdata.tistory.com
Regression learner의 결과 확인
이전에 학습하던 모델을 날려버려서.. 새로 학습해서 결과를 확인해보겠습니다.
빨간 네모부분이 최종적으로 학습된 모델입니다.
왼쪽 아래 부분을 보면 다음과 같은 글들을 확인할 수 있습니다.
- RMSE : Mean squared error에 루트를 씌운 값입니다. 작을 수록 정확한 모델이며 데이터의 원래 스케일을 고려하며 수용할 만한 정도의 오차인지 고려해야합니다.
- 결정계수(R-squared) : 전체 분산의 어느 정도 비율을 설명하는지입니다. 완전히 같은 경우 1, 완전히 상관 없는 경우 0으로 나옵니다. 분야에 따라 다르지만 보통 0.6 이상이 되어야 하며, 0.9이상이 되면 매우 좋은 예측입니다.
- 최적화된 파라미터 : 모델이 제안하는 최고의 파라미터의 조합을 나타냅니다.
RMSE, MSE, MAE, 결정계수는 전체적인(평균적인) 성능을 나타냅니다. 모델이 전체 데이터의 분포를 반영하고 있는지는 확인하기 어렵기 때문에 이를 확인하기 위해서 아래의 플롯들을 함께 확인합니다.
1. 응답플롯
응답플롯은 기본적으로 데이터가 들어온 순서대로 예측값과 실제값을 보여줍니다. 시간순서대로 봐야하거나 오차가 큰 데이터를 확인해야할 때 유용합니다.
오른쪽의 옵션들을 보면 x축의 값을 바꿀 수 있습니다.
x축의 값들을 바꿔보면서, 어떤 변수에 의해 값이 좌우되는지 시각적으로 확인할 수 있습니다.
2. 예측 대 실제 플롯
예측 대 실제 플롯은 x축이 실제, y축이 예측값이 되도록 그립니다. 전체적인 성능을 확인할 수 있습니다. 성능이 좋을 수록 대각선과 가까운 모습이 나옵니다.
3. 잔차플롯
잔차플롯에서는 가로축이 예측값이나 실제값이 되고, 세로축이 그 값에 대한 오차(잔차)가 됩니다. 잔차 플롯을 통해서는 오차가 값 자체에 의해서 영향을 받는지를 확인할 수 있습니다. 이를 '오차의 정규성과 등분산성을 확인한다'고 표현합니다. 이 모델의 경우 MPG 값이 클수록 오차가 커지는 것으로 보입니다. 이 경우 응답변수를 여러 구간으로 나누거나 변수에 변환을 하는 방법으로 해결할 수 있습니다.
모델 내보내기
이 모델을 작업공간으로 내보내서 사용하려면 '모델 내보내기' 기능을 사용하면 됩니다. 그리고 그 외에도 학습시킨 모델에 대해서 추가적인 분석을 할 필요가 있습니다. 지금까지는 교차검증을 했는데, 교차 검중 후에도 test set을 통해서 실제 예측이 잘 되는지를 판단해야하기 때문입니다.
- 함수 생성 : 지금까지의 과정을 함수로 만들어서 내보냅니다. 회귀 학습기는 Matlab 함수들을 다 사용하지 못하기 때문에, 앱을 통해 전체 과정을 익히고 이후 이 함수들의 구조를 공부해 새로운 모델을 적용할 수 있습니다.
- 모델 내보내기 : 함수 없이 모델만을 내보냅니다.
모델을 내보내보면 다음과 같은 내용이 작업공간에 생깁니다.
'trainedModel'이 제가 내보낸 모델입니다. HowToPredict를 눌러보면 모델을 사용하여 예측하는 방법을 확인해볼 수 있습니다.
'공학자를 위한 머신러닝 > Matlab을 사용한 머신러닝' 카테고리의 다른 글
MML-06 Classification Learner (분류 학습기) - 2 (0) | 2024.11.12 |
---|---|
MML-05 Classification Learner (분류학습기) (4) | 2024.11.11 |
MML-03 Regression Learner (회귀학습기) (1) | 2024.11.09 |
MML-02 Matlab Curve fitting (곡선피팅기) (1) | 2024.11.05 |
MML-01 왜 Matlab으로 머신러닝을..? (1) | 2024.08.28 |