일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 노인무임승차
- Seaborn 튜토리얼
- 구글colab
- figure-level
- 상관계수분석
- 머신러닝
- 배열의 유사도
- 지하철적자원인
- AISCHOOL8기
- 파이썬데이터타입
- read_html
- AISCHOO8기
- 배열 회전시키기
- 멋사AI스쿨
- RandomForest
- ML
- seaborn
- ML기초
- 시각화
- axes-level
- 멋쟁이사자처럼
- 중복된 문자제거
- 핸즈온머신러닝
- 파이썬 그래프
- 미드프로젝트
- matplotlib.pyplot
- AI SCHOOL
- fromkeys
- pandas로 그래프
- 통계그래픽
- Today
- Total
코린이 성장일기
[WIL] 지끈한 주 본문
상담을 공부하다가 온 나는, 사실 멋사에서 공부하는 것들이 재미있다.
미지의 세계에 머물러 있어야 했던 시절과 달리,
미지의 세계를 파헤쳐서 눈에 보여주도록 만든다.
모르면 약이지만, 아는 게 힘일 수 있는 세상에서, 나는 아는 게 힘이 되는 게 좋다.
그렇게 재밌게 공부해왔는데, 머신러닝에 들어와서 머리가 지끈지끈하다 . .
하기 싫은 저항에 이번 한 주는 종종 꿈 속을 러닝했다 ^0^
이번 주는 캐글의 벤츠 데이터를 가지고 실습했다.
https://www.kaggle.com/c/mercedes-benz-greener-manufacturing
Mercedes-Benz Greener Manufacturing | Kaggle
www.kaggle.com
데이터를 보면, 컬럼만 378개이다.
데이터 확인만도 쉽지 않은 수치였다.
조은 강사님께서 함께해주셔서 해낼 수 있었다. . . . 도륵. . .
지끈 1. 더블 디스크라이브(기술통계에 대한 기술통계)
인포만 보아도, 컬럼이 너무 많아서 다 뜨지 않는다 ?0?
그래서 어떤 변수부터 자세히 볼지 의사결정을 위해 기술통계의 기술통계를 쓴다고 하셨다.
그래서 만들어낸. train.drop(columns="y").describe().T.describe()
index와 columns의 이름이 똑같아서 이걸 어떻게 내 머릿속에서 작동시켜야할지 돌리다가 꺼졌다.
결국 강사님께 다시 설명해달라고 요청드렸고, 그 과정을 친절히 설명해주셨다.
결론적으로는,
전체 변수가 368개니까, 유일값을 하나 하나 다 보려면 시간이 오래걸리기 때문이라고 . . .
지끈 2. 부스팅 3대장
XGBoost, LightGBM, CatBoost
사실 아직 랜덤포레스트도 제대로 숙지하지 않은 상태에서 넘어가서 인지 지끈지끈 했던 것 같다. 다양한 파라미터들이 몰려와서 내 머릿속에 때려박으려니 , , 입력 초과 . . 모르는 단어들이 여기저기 돌아디니니 정신 없었다.
✔️ 구글 트랜드에서 XGBoost, LightGBM, CatBoost의 인기를 검색해보았다.
음,,, 일단 XGBoost가 가장 인기가 높았다.
배운 순서대로 차근차근 학습해보고자 한다.
그래서 그 전에 기초를 쌓기 위해 성신여대 교수님의 강의를 먼저 보면서 기초를 쌓고 다시 보고자 했다.
왜냐하면 rmse, 모델링, 손실함수 등부터 막히니까 모델을 이해하는 게 어려웠기 때문. . .
https://jounkim.tistory.com/22
[ML] 머신러닝의 학습, Learning
머신러닝에 대해서 이해 없이 나무를 만들고 숲을 만들고 부스팅을 돌려보려니 정신이 혼미해진다. . . 성신여대 김영훈 교수님의 '실습으로 배우는 머신러닝'을 다시 켰다 .. 설명이 아주깔끔하
jounkim.tistory.com
그래도 1주차 학습을 하고 다시 보니 볼만했다.
먼저 XGBoost 실습해본 것을 복습해보았다. . .
import xgboost as xgb
model_xgb = xgb.XGBRegressor(objective='reg:squarederror',
n_estimators=1000,
max_depth=3,
random_state=42,
n_jobs=-1, )
model_xgb
모델을 학습시켜주고,
from xgboost.callback import EarlyStopping
# fit
es = EarlyStopping(
rounds=5,
save_best=True,
maximize=False,
data_name="validation_0",
metric_name="rmse",
)
model_xgb.fit(X_train, y_train,
eval_set=[(X_valid, y_valid)], callbacks=[es])
EarlyStopping 도 해주고(요것도 다시 정확하게 익혀봐야겠다 . .)
# 검증해보기
y_valid_predict = model_xgb.predict(X_valid)
y_valid_predict[:5]
# 피처중요도 뽑아보기
fi = pd.Series(model_xgb.feature_importances_)
fi.index = model_xgb.feature_names_in_
fi.nlargest(20).plot.barh()
검증해보고 피처 중요도도 뽑아 보았다.
그런데 XGBoost의 plot_importance 함수에서는 importance_type 인수를 설정하여 feature importance를 구할 수 있다.
# model_xgb.plot_importance
xgb.plot_importance(model_xgb, max_num_features=20);
요렇게 예뿌게 출력댐 ! !
그리고 성능검사를 하고 바로 예측 돌리고 점수를 내보는 실습이었다 . .. !
Learderboard에서 몇 순위인지 찾아봐보려했으나 , ,, 저 아래... 성능을 좀 더 높여봐야겠다.
우선 아직 XGBoost에 대해서도 낯설어서 , , 좀 더 친해져봐야겠다.
아무튼 이렇게 XGBoost를 한 번 돌려보았고, 비슷하게 LightGBM, CatBoost도 돌려보았다.
아직 나무와 숲도 익숙해지지 않았는데 많은 정보가 들어와서, 요번 주말에는 더욱 열심히 공부해야겠다고 생각이 들었ㄷㅏ . .
머신러닝 재밌는데, 잘 쓰려면 수학과 통계에도 능통해야하나 싶다 . . . .
중요한 것은 꺾이지 않는 마음 . . . .!
화이팅 하련다.
'멋사 AI스쿨8기' 카테고리의 다른 글
[멋사AI스쿨8기] 미드프로젝트 1 (0) | 2023.03.02 |
---|---|
[멋사AI스쿨8기] WIL - SQL(ROLLUP, WINDOW함수) (0) | 2023.02.09 |
[TIL] matplotlib.pyplot 라이브러리 (0) | 2023.01.30 |
[멋사AI스쿨8기] WIL - 다산콜센터의 주요 민원(자주 묻는 질문)에 대한 답변정보 수집 (0) | 2023.01.19 |
[멋사AI스쿨8기] WIL : 데이터 수집 기초 (0) | 2023.01.12 |