[Day 28] Decision Trees
2022. 3. 3. 17:59ㆍAI/Codestates
728x90
반응형
코딩부트캠프 | 코드스테이츠 - 비전공생도 개발자가 될 수 있습니다
코딩부트캠프를 찾는다면? 개발자로 커리어 전환을 위한 책임있는 코딩 교육 기관! 서비스 기획자, 그로스 마케터, 데이터 사이언티스트 등 다양한 전문 커리어에 도전하세요. 취업 성공의 후기
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 |