분류 성능 확인
지난번 모델을 만들어놓고 저장을 안해놔서.. 다시 학습시켜서 모델을 구성해보겠습니다. 모델은 동일하게 앙상블 모델에서 최적화 가능 옵션입니다. 그리고 왠진 모르지만 혼동행렬의 이미지를 복사하면 기능이 정지하면서 종료되는 버그가 있으니 주의하셔야합니다.
'요약' 탭을 보면 간단한 성능 지표들을 확인해볼 수 있습니다.
정확도는 97.2%로 매우 높은 정확도를 보이고 있고, 부가적으로 예측 속도와 훈련시간도 확인할 수 있습니다. 이후 성능을 좀더 자세히 확인해보겠습니다.
1. 혼동행렬
혼동행렬은 예측을 어떻게 잘못했는지를 확인할 수 있습니다. 실제가 0인 데이터를 1이라고 잘못 예측했는지, 2라고 잘못 예측했는지 그 내용이 궁금할 때 도움이 됩니다. 그리고 F1-score, precision, recall 등의 값을 확인하기 위해서도 유용합니다. 간략하게 설명하자면, 클래스 0이 1이나 2보다 많아서 전체의 90%를 차지하는 경우 경우 무지성으로 0이라고만 예측해도 정확도가 90%가 되는데, 이러한 정확도 문제를 해결하기 위해 제안되는 다양한 지표입니다. 이와 관련한 내용들은 다른 글들에서 다뤄보겠습니다.
2. ROC 곡선
ROC 곡선은 주로 이진분류 문제에서 활용되는데, 가로축이 거짓양성률, 세로축이 참양성률로 구성됩니다. 이 곡선이 왼쪽 위 꼭짓점에 가까울수록 높은 성능을 나타냅니다. 이 곡선 아래의 면적을 AUC(Area Under Curve)라고 하는데 이 값이 가장 이상적인 경우에 1이 나옵니다. 이와 관련한 내용도 다른 글에서 자세히 다뤄보겠습니다. 현재 모델은 AUC가 소수 세번째 자리에서 반올림했을 때 1.00이 나오는 상황으로, 매우 정확도가 높은 모델이라고 볼 수 있습니다.
테스트 셋에 대해서 검증하기
현재까지는 validation set(검증)데이터에 대해서 cross validation(교차검증) 한 값에 대해서 정확도를 확인해보았습니다. 교차검증은 주로 하이퍼파라미터 튜닝을 위해서 하는 것이지 실제 성능을 판단하기 위한 방법이 아니기 때문입니다. 실제 성능이 믿을만한지를 판단할 때에는 보통 test-set에 대한 정확도를 확인해서 최종 결과를 내야합니다. '모두 테스트' 버튼을 눌러 미리 설정해놓은 테스트 데이터셋에 대해서 검증합니다. 또는 '테스트 데이터' 버튼을 이용해서 다른 테스트 데이터를 불러올 수도 있습니다. 그러면 '요약' 탭으로 자동으로 넘어가지며 테스트 데이터에 대한 정확도를 보여줍니다. 97.1%로 일관성있게 높은 성능을 보여줍니다.
이후에도 마찬가지 방식으로 테스트 데이터에 대한 혼동행렬과 ROC 커브를 확인할 수 있습니다.
이후 학습된 모델을 내보내서 추가적인 작업을 수행하려면 Regression learner와 마찬가지로 '내보내기' 기능을 사용하면 됩니다. 모델을 내보낼 수도 있고, 모델을 생성하는 코드로 내보낼 수도 있습니다.
내보내고 나면 작업공간에 모델이 생성된 것을 확인할 수 있습니다.
만들어진 모델 구조체를 누르면 모델에 대한 정보를 확인할 수 있고, 예측을 수행하기 위한 방법을 설명해주는 글이 있습니다. trainedModel.predictFcn(X)로 X에 데이터를 넣어주면 추가적인 예측을 해볼 수 있습니다.
'공학자를 위한 머신러닝 > Matlab을 사용한 머신러닝' 카테고리의 다른 글
MML-08 머신러닝 모델들을 고르는 방법 2 - 회귀 (0) | 2024.11.18 |
---|---|
MML-07 머신러닝 모델들을 고르는 방법-분류 (0) | 2024.11.16 |
MML-05 Classification Learner (분류학습기) (4) | 2024.11.11 |
MML-04 Regression Learner (회귀학습기) -2 (0) | 2024.11.10 |
MML-03 Regression Learner (회귀학습기) (1) | 2024.11.09 |