Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- Docker
- 우분투
- gs25
- 자연어처리
- Real or Not? NLP with Disaster Tweets
- 파이썬
- 캐치카페
- Baekjoon
- 프로그래머스 파이썬
- Git
- 코로나19
- SW Expert Academy
- github
- ChatGPT
- ubuntu
- 맥북
- 프로그래머스
- 백준
- Kaggle
- leetcode
- 편스토랑 우승상품
- 더현대서울 맛집
- 금융문자분석경진대회
- dacon
- PYTHON
- hackerrank
- 데이콘
- 편스토랑
- programmers
- AI 경진대회
Archives
- Today
- Total
솜씨좋은장씨
데이콘 X AI 프렌즈 온도추정 경진대회 도전 3회차 본문
728x90
반응형
데이콘 온도추정 경진대회 도전 3회차 입니다.
오늘은 lightGBM 모델을 사용하여 제출해 보았습니다.
먼저 Colab에 LightGBM을 설치해주었습니다.
데이터는 2회차와 동일하게 3일치의 기상청 측정데이터, Y18 센서 데이터를 사용하였습니다.
기상청 측정 데이터는 기온, 일일 누적 일사량을 사용하였습니다.
data = train.loc[:, ['X00', 'X07', 'X11','X28', 'X31', 'X32', 'X34', 'Y18']].dropna()
data
X_train = data.loc[:, ['X00', 'X07', 'X11', 'X28', 'X31', 'X32', 'X34']]
Y_train = data['Y18']
X_train.shape, Y_train.shape
X_test = test.loc[:, ['X00', 'X07', 'X11','X28', 'X31', 'X32', 'X34']]
X_test.shape
필요한 라이브러리를 import 합니다.
from lightgbm import LGBMClassifier, LGBMRegressor
from sklearn.model_selection import GridSearchCV
첫번째 제출
lgb = LGBMRegressor(n_estimators=100, max_depth=5, learning_rate=0.05)
lgb.fit(X_train, Y_train)
predict = lgb.predict(X_test)
predict_labels = predict
ids = list(test['id'])
print(len(ids))
submission_dic = {"id":ids, "Y18":predict_labels}
submission_df = pd.DataFrame(submission_dic)
submission_df.to_csv("dacon_temp_sub_03_1.csv", index=False)
결과
결과가 원하는 대로 나오지 않아서 파라미터를 최적화 하는 방법을 찾던 중
작년에 열렸던 제주도 버스 운행시간 예측대회에서 3등한 코드에서 괜찮은 코드를 발견했습니다.
from sklearn.model_selection import GridSearchCV
def get_best_params(model, params):
grid_model = GridSearchCV(model, param_grid=params, scoring='neg_mean_squared_error', cv=5)
grid_model.fit(X_train, Y_train)
rmse = np.sqrt(-1* grid_model.best_score_)
print('최적 평균 RMSE 값:', np.round(rmse, 4))
print('최적 파라미터:', grid_model.best_params_)
return grid_model.best_estimator_
이걸 활용하여 최적의 파라미터를 찾아보았습니다.
lgb_for_best = LGBMRegressor()
lgb_param_grid = {
'n_estimators' : [50, 100, 200, 300, 400],
'max_depth' : [5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60],
'learning_rate' : [0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1]
}
best_lgb_param = get_best_params(lgb_for_best, lgb_param_grid)
여기서 얻은 최적의 파라미터를 활용하여 결과를 도출해보았습니다.
- learning_rate : 0.01
- max_depth : 5
- n_estimators : 400
두번째 제출
lgb_with_best_params = LGBMRegressor(learning_rate=0.01, max_depth=5, n_estimators=400)
lgb_with_best_params.fit(X_train, Y_train)
predict = lgb_with_best_params.predict(X_test)
predict_labels = predict
ids = list(test['id'])
print(len(ids))
submission_dic = {"id":ids, "Y18":predict_labels}
submission_df = pd.DataFrame(submission_dic)
submission_df.to_csv("dacon_temp_sub_03_3.csv", index=False)
결과
하나의 파일을 제출을 잘못하여 오늘은 두번밖에 제출을 하지 못했습니다.
하루의 세번밖에 제출하지 못하는게 아쉽지만 더 공부해보아야겠습니다.
읽어주셔서 감사합니다!
'DACON > AI프렌즈 시즌1 온도 추정 경진대회' 카테고리의 다른 글
데이콘 X AI 프렌즈 온도추정 경진대회 도전 5, 6회차 (0) | 2020.03.19 |
---|---|
데이콘 X AI 프렌즈 온도추정 경진대회 도전 4회차 (0) | 2020.03.17 |
데이콘 X AI 프렌즈 온도추정 경진대회 도전 2회차 (0) | 2020.03.13 |
데이콘 X AI 프렌즈 온도추정 경진대회 도전 1회차 (0) | 2020.03.12 |
3월 공모전 데이콘 X AI프렌즈 온도추정 경진대회 도전! (0) | 2020.03.12 |
Comments