하이퍼 파라미터란?
- 모델링할 때 사용자가 직접 세팅해주는 값
- 머신러닝 모델을 쓸 때 사용자가 직접 세팅해야하는 값이 많다 ▶︎ 그 모든 값을 하이퍼 파라미터라 한다
- 하이퍼 파라미터는 정해진 최적의 값이 존재하지 않으며, 하이퍼 파라미터 설정에 따라 성능 변화에 큰 차이를 보이기도 한다
- 하이퍼 파라미터를 조정함으로써 모델 성능을 향상 시킬 수 있다.
- 또한, 모델의 복잡도를 제어하여 과적합을 방지하는 등의 이점을 가지고 있다.
사이킷런 RandomForestRegressor의 하이퍼 파라미터 예시
- n_estimators : 결정트리의 개수(default = 10)
- criterion : 분할된 것(split)의 품질을 측정하는 기능
- 예시 : absolute_error
- max_depth : 트리의 최대 깊이
- min_samples_split : 노드를 분할하기 위한 최소한의 샘플 데이터 수
# 중식계 예측을 위한 features
features = features[:-1]
# 독립변수 X와 종속변수 y 업데이트
X = train[features]
y = train['중식계']
from sklearn.ensemble import RandomForestRegressor
# 1. 모델 정의
lunch_model = RandomForestRegressor(n_estimators=200, criterion='absolute_error')
# 2. 모델 학습
# fit() 메소드 이용
lunch_model.fit(X,y)
# 3. 예측
# predict() 메소드 이용
lunch_count_predict = lunch_model.predict(test[features])
# 예측값 시각화
plt.figure(dpi=150)
plt.plot(lunch_count_predict, alpha=0.6, label='pred')
plt.legend()
plt.show()
👀 파라미터 vs. 하이퍼파라미터
▶︎ 파라미터(parameter; 매개변수)는 학습과정에서 생성되는 변수로, 사용자가 임의로 설정하는 값이 아니다
728x90
'Machine Learning > scikit-learn' 카테고리의 다른 글
[교차 검증] K-폴드 교차 검증 (0) | 2023.08.17 |
---|---|
[데이터 전처리] MinMaxScaler를 이용한 데이터 정규화 예제 (0) | 2023.08.17 |
[회귀] LinearRegression (선형 회귀 모델) & 회귀 평가 지표 (0) | 2023.08.15 |
[앙상블] RandomForestRegressor(랜덤포레스트) (2) | 2023.08.14 |
[데이터 분할] 학습 세트와 검증 세트 분할 : train_test_split() (0) | 2023.08.14 |