본문 바로가기
DeepLearning Framework & Coding/Microsoft AzureML

[Microsoft AzureML - 6] 여러 학습모델 동시에 성능비교

by 노마드공학자 2021. 6. 22.

※ 이전글

[Microsoft AzureML - 0] Intro https://limitsinx.tistory.com/113

[Microsoft AzureML - 1] 개발 환경 세팅 https://limitsinx.tistory.com/114

[Microsoft AzureML - 2] 학습할 데이터 불러오기 https://limitsinx.tistory.com/115

[Microsoft AzureML - 3] 데이터 전처리(Data pre-processing) - I https://limitsinx.tistory.com/116

[Microsoft AzureML - 4] 데이터 전처리(Data pre-processing) - II https://limitsinx.tistory.com/117

[Microsoft AzureML - 5] 학습모델 구현 및 검증 https://limitsinx.tistory.com/118


여러개의 학습모델 동시에 성능비교

이제까지 단일 모델을 학습시켜 Linear Regression으로 자동차가격예측을 해보았는데요

 

이번엔 Linear Regression과 더불어 Decision Forest Regression이라는 방식을 동시에 사용하여

 

어떤것이 성능이 좋은지 검토해보겠습니다.

 

Linear Regression이란, 어떤 데이터가 y=ax+b라는 1차원수식으로 분류가되거나, 데이터간의 상관관계가 "비례" 혹은 "반비례"가 명확할때 빛을발하는 모델인데요

 

하지만, 이런 상관관계가 뚜렷하게 없는 데이터들에서는 학습 성능이 아주 떨어진다는 단점이 있습니다.

Decision Forest Regression이란 이런 Linear Regression의 단점을 보완하여, "비례"관계가 아니어도 데이터간의 트렌드를 정확하게 따라가 분석하는 방식인데요

 

수학적 증명은 길고 복잡한 관계로, 따로 확인해주시고 저희는 다루는방법을 집중적으로 해보겠습니다.

 

AuzreML 블록도는 상기와 같습니다.

 

별다르게 추가된것은 없고, 기존에는 왼쪽의 Linear Regression만 해주었다면,

 

이번에는 오른쪽에 Decision Forest Regression 블록을 추가하여 동일하게 [Train] -> [Score] -> [Evaluate]로 연결해주었을 뿐입니다.

 

Evaluate는 한개의 블록에 두개의 모델결과값을 연결해주어 한번에 결과값을 확인할 수 있도록 했습니다.

 

그다음 [RUN] 해주시고, [Evaluate Model]의 [Visualize]를 하면 다음과 같은 결과가 나옵니다.

 

두개중 위의 결과값이 Linear Regression, 아래가 Decision Forest Regression 입니다.

 

MAE만보더라도 2276 -> 1610으로 대폭 축소되었으며

 

RMSE도 3156에서 2260으로 확줄었네요

 

또한, Coefficient of Determination은 0.92895로 거의 1에 다가선것을 확인할 수 있습니다.

 

즉, 이렇게 비교를 함으로써 Linear Regression보다 Decision Forest Regression이 성능이 더 괜찮구나? 라는것을 확인할 수 있습니다.

 

다른모델들도 이런식으로 서로 연결해주어 동시에 Evaluate를 해봄으로써 가장나은 학습모델을 선택하시면 됩니다.

댓글