[Day 29] Random Forests

2022. 3. 3. 18:09AI/Codestates

728x90
반응형

https://www.codestates.com/

 

코딩부트캠프 | 코드스테이츠 - 비전공생도 개발자가 될 수 있습니다

코딩부트캠프를 찾는다면? 개발자로 커리어 전환을 위한 책임있는 코딩 교육 기관! 서비스 기획자, 그로스 마케터, 데이터 사이언티스트 등 다양한 전문 커리어에 도전하세요. 취업 성공의 후기

www.codestates.com


Warm-up

  • Random Forests

Note

  • 앙상블 방법 : 한 종류의 데이터로 여러 머신러닝 학습모델을 만들어 그 모델들의 예측결과를 다수결이나 평균을 내어 예측하는 방법
  • Random Forests
    • 버깅 ( Bagging , Bootstrap Aggregting ) : Bootstrap으로 훈련된 데이터를 다시 합치는 과정
    • 부스스트랩 ( Bootstrap ) 샘플링 : 원본 데이터에서 샘플링을 하는데 복원추출을 한다는 것
from sklearn.impute import SimpleImputer
from sklearn.pipeline import make_pipeline
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import f1_score

pipe_ord = make_pipeline(
    OrdinalEncoder(), 
    SimpleImputer(), 
    RandomForestClassifier(random_state=2, n_jobs=-1, oob_score=True)
)

pipe_ord.fit(X_train, y_train)
print('검증 정확도', pipe_ord.score(X_val, y_val))
  • 원핫인코딩 VS 순서형 인코딩
    • OneHotEncoding : 카테고리 수에 따라 새로운 특성 생성 -> 카테고리가 많이 없고, 명목형 데이터 일 때
    • OrdinalEncoding : 열 개수는 그대로 유지 ( 1개 ) 카테고리 별 중요도가 설정됨 -> 카테고리 별로 중요도가 다를 때
  • 트리 기반 모델에서는 OrdinalEncoding이 좋은 이유
    • 트리모델은 순서를 고려하지 않는다
    • 특성 개수가 증가 하지 않는다 -> 특성 중요도를 위해 분할하지 않아야 한다.

Review

더보기

새로운 인코딩들에 대해서 알아보고 F1-Score의 차이를 알 수 있었다.


참고

728x90
반응형

'AI > Codestates' 카테고리의 다른 글

[Day 31] Model Selection  (0) 2022.03.08
[Day 30] Evaluation Metrics for Classification  (0) 2022.03.04
[Day 28] Decision Trees  (0) 2022.03.03
[Day 27] Sprint Review  (0) 2022.02.28
[Day 26] Logistic Regression  (0) 2022.02.28