의사결정 나무(Decision Tree)
의사결정 나무 특징
의사결정나무의 구조
1) 루트 노드 (Root Node)
2) 내부 노드(Internal Node)
3) 리프 노드(Leaf Node)
의사결정나무가 작동하는 방식
1) 특성 선택
2) 기준 설정
3) 반복적으로 분할
의사결정나무의 장점과 단점
1) 장점
2) 단점
의사결정나무 개선 방법
1) 가지치기
2) 최대 깊이 제한
3) 앙상블 기법 사용
Python에서 scikit-learn 라이브러리를 사용해 간단한 의사결정 나무 모델을 구현
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier, export_text
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 데이터 로드
data = load_iris()
X = data.data
y = data.target
# 데이터 분리
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 의사결정 나무 모델 학습
model = DecisionTreeClassifier(criterion='gini', max_depth=3, random_state=42)
model.fit(X_train, y_train)
# 예측
y_pred = model.predict(X_test)
# 성능 평가
print("Accuracy:", accuracy_score(y_test, y_pred))
# 트리 구조 출력
tree_rules = export_text(model, feature_names=data.feature_names)
print("\nDecision Tree Rules:\n", tree_rules)
분류 - 서포트 벡터 머신(SVM) (0) | 2025.02.20 |
---|---|
분류 - K-최근접 이웃(K-Nearest Neighbors) (1) | 2024.12.18 |
분류 - 로지스틱 회귀(Logistic Regression) (2) | 2024.11.28 |
분류(Classification) (0) | 2024.11.26 |
회귀분석-Elastic Net (1) | 2024.11.20 |