분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
원자력발전소 상태 판단 경진대회
원자력 발전소 상태 판단 대회 도전 5일차! - by 솜장
먼저 lightGBM 모델을 사용하였습니다.
from lightgbm import LGBMClassifier, plot_importance lgb2 = LGBMClassifier(n_estimators=2, learning_rate=0.001, max_depth=7,min_child_samples=48, random_state=4321) lgb2.fit(X_train, y_train, verbose=2)
결과는!
이번에는 GridSearchCV를 활용하여 RandomForest의 최적의 파라미터를 찾아보았습니다.
머신러닝 bagging 앙상블 랜덤 포레스트(random forest)란?
위의 링크를 참고하였습니다.
from sklearn.model_selection import GridSearchCV from sklearn.ensemble import RandomForestClassifier rf_param_grid = { 'n_estimators' : [10, 30, 50, 70, 100], 'max_depth' : [6, 8, 10, 12], 'min_samples_leaf' : [3, 5, 7, 10], 'min_samples_split' : [2, 3, 5, 10] } rf = RandomForestClassifier(random_state=0) import time strTime = time.time() print("시작시간: ", strTime) rf_grid = GridSearchCV(rf, param_grid=rf_param_grid, scoring='accuracy', n_jobs=-1, verbose = 1) rf_grid.fit(X_train, y_train) print("소요시간 : ", time.time() - strTime)
생각보다 너어어어무 오랜 시간이 걸려 한참 기다렸습니다.
는 .... 결국 Colab의 런타임 연결이 해제되고 어쩔수없이 시간상 변수를 줄여서 다시 시도해 보았습니다.
rf_param_grid = { 'n_estimators' : [4, 6, 7, 8], 'max_depth' : [7, 9], 'min_samples_leaf' : [3, 5], 'min_samples_split' : [2, 3] } print("최고 평균 정확도 {0:4f}".format(rf_grid.best_score_))
print("최고의 파라미터 : ", rf_grid.best_params_)
정확도가 낮지만 여러번의 삽질로 인하여 시간이 없어 일단 지금 나온 최적의 파라미터를 가지고 시도해보기로 했습니다.
model = RandomForestClassifier(random_state=0, n_estimators=rf_grid.best_params_['n_estimators'], max_depth=rf_grid.best_params_['max_depth'], min_samples_leaf=rf_grid.best_params_['min_samples_leaf'], min_samples_split=rf_grid.best_params_['min_samples_split'], verbose=1, n_jobs=-1, warm_start=True) model.fit(X_train, y_train)
결과는!
이번엔 n_estimators 만 200으로 바꾸어 해보았습니다.
model4 = RandomForestClassifier(random_state=0, max_depth=rf_grid.best_params_['max_depth'], min_samples_leaf=rf_grid.best_params_['min_samples_leaf'], min_samples_split=rf_grid.best_params_['min_samples_split'], n_estimators=200, warm_start=True) model4.fit(X_train, y_train)
결과는!
출처 - 솜장 https://ideans.tistory.com/47
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io | 전화번호: 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
공유해주신 솜장님께 감사드립니다.