[Day 28] Decision Trees

2022. 3. 3. 17:59AI/Codestates

728x90
반응형

https://www.codestates.com/

 

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

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

www.codestates.com


Warm-up

  • 결정트리 ( Decision Trees )

Note

 

  • 결정트리 ( Decision Trees ) :  어떤 조건에 대해서 boolean으로 대답하는것
    • 분류와 회귀문제 모두 적용 가능!
    • 모델을 만들 때 독립 변수 Input의 Type은 범주형, 연속혁 ( 수치형 ) 둘다 가능!
    • 분할 기준은 불순도를 비교하고 가장 적게 나오는 분기점!
  • 트리 학습 비용함수
    • 지니불순도
    • 엔트로피
  • 파이프라인 사용
from ipywidgets import interact
from sklearn.metrics import f1_score
from sklearn.tree import DecisionTreeClassifier
from category_encoders import OneHotEncoder
from sklearn.impute import SimpleImputer
from sklearn.pipeline import make_pipeline

def thurber_tree(max_depth=1):
    pipe = make_pipeline(
    OneHotEncoder(use_cat_names=True),  
    SimpleImputer(), 
    DecisionTreeClassifier(max_depth = max_depth, random_state=2))
    pipe.fit(X_train, y_train)
    y_pred = pipe.predict(X_val)
    print('검증세트정확도: ', pipe.score(X_val, y_val))
    print('F1-score: ', f1_score(y_val, y_pred))

interact(thurber_tree, max_depth=(1,50,1));
  • 특성중요도 그래프
importances = pd.Series(model_dt.feature_importances_, encoded_columns)
plt.figure(figsize=(10,30))
importances.sort_values().plot.barh()


Review

더보기

트리모델에 대해서 배워서 캐글에 제출하는 과제를 진행했다 확실히 점수를 올리는 부분이 제일 어려웠던거 같다.


참고

 

728x90
반응형

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

[Day 30] Evaluation Metrics for Classification  (0) 2022.03.04
[Day 29] Random Forests  (0) 2022.03.03
[Day 27] Sprint Review  (0) 2022.02.28
[Day 26] Logistic Regression  (0) 2022.02.28
[Day 25] Ridge Regression  (0) 2022.02.24