일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 맥북
- ChatGPT
- 자연어처리
- 프로그래머스
- 우분투
- 데이콘
- 파이썬
- 더현대서울 맛집
- 편스토랑
- github
- AI 경진대회
- SW Expert Academy
- Kaggle
- programmers
- Docker
- dacon
- Real or Not? NLP with Disaster Tweets
- 편스토랑 우승상품
- 백준
- hackerrank
- 캐치카페
- 프로그래머스 파이썬
- gs25
- 금융문자분석경진대회
- leetcode
- PYTHON
- 코로나19
- Baekjoon
- ubuntu
- Git
- Today
- Total
솜씨좋은장씨
[DACON] 심리 성향 예측 AI 경진대회 1일차! 본문

심리 성향 예측 AI 경진대회
출처 : DACON - Data Science Competition
dacon.io
심리 성향 예측 AI 경진대회 1일차!
오늘은 먼저 베이스라인 코드와 토론에 나와있는 AutoML 코드를 돌려보기로 했습니다.
심리 성향 예측 AI 경진대회
출처 : DACON - Data Science Competition
dacon.io
베이스라인 코드는 위의 링크에서 확인해보시면 됩니다.
베이스라인의 결과는!

0.6801542453 의 결과를 얻을 수 있었습니다.
베이스라인 코드가 LightGBM 모델로 작성되어있어 GridSearchCV 를 활용하여 최적의 파라미터를 찾아 성능을 높여 보자! 라고 생각하게 되었고 예전에 다른 대회를 진행해보면서 활용했던 코드를 가져와서 실행해보았습니다.
GridSearchCV
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, verbose=1)
grid_model.fit(train_x, train_y)
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_param_grid = {
'n_estimators' : [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000],
'max_depth' : [5, 10, 15, 20, 25, 30],
'learning_rate' : [0.001, 0.005, 0.007, 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1],
'min_child_samples': [10, 20, 30, 40, 50, 60, 70]
}
GridSearchCV에 넣을 LGBMClassifier 생성
model = lgbm.LGBMClassifier()
최적의 파라미터 찾기
%%time
best_param = get_best_params(model, lgb_param_grid)
위에서 최적의 파라미터를 찾는 과정이 욕심을 부렸더니 너무 오래 걸려서 (20시간 넘게 진행중)
코드공유에 올라와있는 AutoML을 활용한 방법을 시도해 보았습니다.
심리 성향 예측 AI 경진대회
출처 : DACON - Data Science Competition
dacon.io
자세한 내용은 위를 참고해주세요.
결과는!

0.7739322873 의 결과를 얻을 수 있었습니다.
별다른 EDA나 모델 사용 고민없이도 77%가 넘는 정확도를 보이는 모델을 만들 수 있다는 것이 정말 신기했습니다.
GridSearchCV 결과가 너무 나오지 않아 AutoML을 활용하여 나온 모델 중
두번째로 좋다고 나온 모델을 활용해보기로 했습니다.
GradientBoostingClassifier(ccp_alpha=0.0, criterion='friedman_mse', init=None,
learning_rate=0.1, loss='deviance', max_depth=3,
max_features=None, max_leaf_nodes=None,
min_impurity_decrease=0.0, min_impurity_split=None,
min_samples_leaf=1, min_samples_split=2,
min_weight_fraction_leaf=0.0, n_estimators=100,
n_iter_no_change=None, presort='deprecated',
random_state=6670, subsample=1.0, tol=0.0001,
validation_fraction=0.1, verbose=0,
warm_start=False)
이 모델을 베이스라인 코드에 모델 부분만 교체하여 활용해 보았습니다.
결과는!

AutoML에서 사용하였던 전처리 방법과 다른 전처리 방법으로 인하여 기대한 결과가 나오지 못한 것 같습니다.
오늘은 첫 날이라 공개되어있는 코드를 가지고만 시도를 해보았습니다.
내일부터는 데이터 EDA를 통해 성능을 더 높여보려합니다.
읽어주셔서 감사합니다.
첫날 결과 ( 29 / 88 )

'DACON > 심리 성향 예측 AI 경진대회' 카테고리의 다른 글
[DACON] 심리 성향 예측 AI 경진대회 3, 4일차! (0) | 2020.10.10 |
---|---|
[DACON] 심리 성향 예측 AI 경진대회 2일차! (0) | 2020.10.04 |
[DACON] 심리 성향 예측 AI 경진대회 도전! (0) | 2020.09.30 |