본문 바로가기
Drawing (AI)/MachineLearning

Udemy - 머신러닝의 모든 것 (회귀 모델 선택)

by 생각하는 이상훈 2023. 3. 23.
728x90

최적 모델 선택

데이터 전처리과정은 생략하고 빠진 데이터나 범주 데이터가 없는 완전한 데이터셋을 이용하여 진행하도록한다.

이는 이전에 시계열 데이터 분석 책에서 다루었던 UCI 머신 러닝 저장소의 고전적인 데이터이다.

약 만개의 데이터로 이루어져있는 복합 발전소 데이터이다. 첫번째부터 엔진온도, 배기진공, 주변기압, 상대습도라는 독립 변수(features)와 에너지라는 종속 변수로 이루어진 데이터이다.


Source Code

이전까지 배운 다양한 회귀 코드들의 끝에 R squared를 평가하는 코드를 추가하여 어떤 방식의 회귀가 가장 효율적인지 확인한다.

from sklearn.metrics import r2_score
r2_score(y_test, y_pred)

결과

# Multiple_linear

[[431.43 431.23]
 [458.56 460.01]
 [462.75 461.14]
 ...
 [469.52 473.26]
 [442.42 438.  ]
 [461.88 463.28]]
 
# r^2 score
0.9325315554761303

# Polynomial

[[433.94 431.23]
 [457.9  460.01]
 [460.52 461.14]
 ...
 [469.53 473.26]
 [438.27 438.  ]
 [461.66 463.28]]
 
# r^2 score
0.9458192809530098

# Support_vector

[[434.05 431.23]
 [457.94 460.01]
 [461.03 461.14]
 ...
 [470.6  473.26]
 [439.42 438.  ]
 [460.92 463.28]]
 
# r^2 score
0.9480784049986258

# Decision_tree

[[431.28 431.23]
 [459.59 460.01]
 [460.06 461.14]
 ...
 [471.46 473.26]
 [437.76 438.  ]
 [462.74 463.28]]

# r^2 score
0.922905874177941

# Random_forest

[[434.05 431.23]
 [458.79 460.01]
 [463.02 461.14]
 ...
 [469.48 473.26]
 [439.57 438.  ]
 [460.38 463.28]]

# r^2 score
0.9615908334363876

각 모델들의 결과들의 2차원 배열과 R squared score들이다. 보이듯이 Random Forest Regression의 R squared score이 0.9615...로 압도적인 성능을 보임을 알 수 있다. 위와 같은 방식으로 비교평가하여 최선의 모델을 선택하면 된다는 것을 직접 실행시켜보며 학습하였다.


728x90