[TIL] Day 32, 33 - ML, RandomForest
⛺ 𝗕𝗼𝗼𝘁 𝗖𝗮𝗺𝗽/멋쟁이사자처럼 AI 스쿨 6기

[TIL] Day 32, 33 - ML, RandomForest

 

 

 32일차 

ML

  • 타이타닉 데이터 전처리
  • test, train 데이터 불러오기
  • pd.concat() 해서 전처리할수도, 근데 이때는 reset_index(drop)
  • 파생변수 만들기
  • 모델링할 때는 결측치 x, 범주형 x
    • 따라서 One-Hot Encoding이 필요함
  • series.map()
  • series.str
  • display() 를 이용하면 연달아서 주피터 노트북에서 출력 가능
  • pd.get_dummies()
    • 알아서 원핫인코딩
    • 근데 그만큼 컬럼이 늘어난다.
    • 이때, train과 test의 컬럼 개수 주의 (다르면 안된다.)
  • np.nan == np.nan 하면 False 나옴 (?)
    • pd.isnan(np.nan) 해야지 True 나옴
    • 따라서 np.nan 인지 확인할 떄는 pd.isnan을 사용할 것
  • X_train, X_test, y_train
  • sklearn.model_selection
    • cross_val_score
    • cross_val_predict
    • cross_validate
  • RandomClassifier
  • 랜덤서치, 그리드서치
  • 캐글에 예측 데이터 제출해보기
  • plot_tree()
  • 피처의 중요도 그려보기
  • 엔트로피 (불확실성)
    • 엔트로피가 크다는 것은 아직 뭔가가 결정되지 않았다는 것
  • 지니 계수 (불순도)

 

 

 

 33일차 

RandomForest

https://ko.wikipedia.org/wiki/%EB%9E%9C%EB%8D%A4_%ED%8F%AC%EB%A0%88%EC%8A%A4%ED%8A%B8

 

랜덤 포레스트 - 위키백과, 우리 모두의 백과사전

 

ko.wikipedia.org

  • 분류, 회귀에 둘 다 사용됨 -> CART 알고리즘
  • 앙상블 학습 방법의 일종
    • from sklearn.ensemble import RandomForest~
    • 앙상블 학습이란 여러 학습 알고리즘을 사용하는 것
  • 약간 부트스트래핑해서 다수의 결정 트리를 만들고 이를 평균치를 내는 방법 (?) 인 것 같다.
  • 부트스트랩이란? 
    • bootstrap aggregating (bagging) 
    • 과적합을 줄이는 데 좋다.
    • 안정성 및 정확도 향상을 위해
    • 앙상블 학습 방법의 메타 알고리즘
    • 보통 결정트리나 랜덤포레스트에 적용이 되는 것이 일반적이라고 한다.
    • 중복을 허용
  • MSE, MAE, RMSE, RMSLE
  • from sklearn.model_selection import RandomizedSearchCV
    • param_distributions
    • clf
    • clf.best_estimator_
    • clf.best_score_
    • clf.cv_results_ : pd.DataFrame() 으로 보면 편하다.
      • cross_validate 도 마찬가지

 

 

 

 회고 

어렵네요 하지만 재미있습니다 🔥

 

 

 

 

 


 

728x90