250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- sqldeveloper
- 연결
- psycopg2
- oracle
- Jupyter
- 도커
- 파이썬
- LOG
- SQL
- 리눅스
- Docker image
- pgadmin
- 오라클
- Linux
- 복구
- psql
- 머신러닝
- postgre
- Python
- cpu
- 도커이미지
- jupyternotebook
- 쿼리
- 교차검증
- GPU
- Memory
- TensorFlow
- GridSearchCV
- 시계열
- docker
Archives
- Today
- Total
areum
[Machine Learning] GridSearchCV 하이퍼 파라미터 튜닝 본문
728x90
GridSearchCV 간단한 정의
GridSearchCV란 사용자가 직접 모델의 하이퍼 파라미터 값을 리스트로 작성하여 경우의 수마다 예측 성능을 측정하여 비교하면서 최적의 하이퍼 파라미터 값을 찾는 기법입니다.
from sklearn.model_selection import GridSearchCV
# 아래 params는 랜덤포레스트 파라미터로 실행하였습니다.
# list로 작성할 수 있지만 아래와 같이 작성해주면 훨씬 더 많은 범위의 파라미터 튜닝이 가능합니다.
params = {'n_estimators' : list(range(50,400,10)),'max_depth' : list(range(4,20,15)),
'min_samples_leaf' : list(range(4,20,1)),'min_samples_split' : list(range(2,20,1))}
grid_cv = GridSearchCV(clf, param_grid=params, scoring='accuracy', cv=5, n_jobs=-1, verbose=2)
grid_cv.fit(x_train, y_train)
# 모든 파라미터의 경우의 수 과정을 보여줍니다.
# 저는 위 파라미터 값들마다 정확도를 확인해보기위해 엑셀파일로 뽑아서 살펴보았어요 ! )
score_df=pd.DataFrame(grid_cv.cv_results_)
score_df.to_csv("/save/score_df_rf.csv")
# 예측 정확도 확인
best_params = pd.DataFrame.from_records([grid_cv.best_params_])
print('best_parameter:',best_params)
print('예측 정확도:{:.4f}'.format(grid_cv.best_score_))
- n_jobs=-1 : cpu메모리 전체 사용 (Default값은 1입니다.)
- verbose =2 : 실행 과정이 실시간으로 추출됩니다. (1로 하면 경우의 수가 total몇개인지만 나옵니다. 2호 하면 total과 과정이 출력됩니다.)
- cv=5 : 교차검증을 위한 fold횟수
- grid_cv.cv_results : 하이퍼 파라미터 튜닝의 경우의 수 결과값을 보여줍니다. 하지만 이를 print하게 되면 상당히 많이 때문에 따로csv파일로 추출후 best가 무엇이고, 다른 순위들의 파라미터 값은 무엇으로 선정되어있는지 확인 할 수 있습니다.
GridSearchCV는 모델 성능을 높이기 위한 방법 중 하나입니다. 모델의 성능이 높지 않다면 다양한 파라미터 값들을 넣어보면서 가장 점수가 높은 파라미터를 추출하면 됩니다.
하지만, 시간이 오래 걸리기 때문에 인내심이 필요합니다,,, !
'Programming > Machine Learning' 카테고리의 다른 글
[ML] K-Means Clustering (K-평균 군집) (0) | 2023.03.17 |
---|---|
[ML] Association Rule Analysis (연관 규칙 분석) (0) | 2023.03.14 |
[시계열 분석] ARIMA를 이용한 기온 예측 (0) | 2023.01.31 |
[Machine Learning] Random Forest (랜덤포레스트) (0) | 2022.11.30 |
[Machine Learning] Multiple_regression (다중 회귀) (0) | 2022.07.19 |