반응형
Decision Tree (의사 결정 트리)
Decision Tree는 알고리즘이다.
분류(Classification) 및 회귀(Regression) 문제를 해결하는 머신러닝(ML)에서 자주 사용된다.
데이터의 특징을 기반으로 트리 구조를 만들어 결정 규칙을 생성하고, 새로운 데이터가 주어졌을 때 적절한 클래스로 분류하거나 값을 예측하는 데 사용된다.
💪 Decision Tree 예시:
날씨에 따라서 야외 운동을 할지 안할지를 정하는 Decision Tree이다.
🎯 클래스 (Class)
- Play → 운동 가능 ✅
- Not Play → 운동 불가능 ❌
🔹 속성 (Attribute)
- outlook (날씨) → sunny, overcast, rain
- humidity (습도) → high, normal
- windy (바람 여부) → true, false
🤔 문제
회사는 유전자 특성을 기반으로 인간 유전자를 20개의 범주로 분류하려고 합니다. 또한, 모델의 내부 메커니즘이 출력에 어떤 영향을 미치는지를 문서화할 수 있는 ML 알고리즘이 필요합니다.
이 요구사항을 충족하는 ML 알고리즘은 무엇입니까?
- 의사 결정 트리 (Decision trees)
- 선형 회귀 (Linear regression)
- 로지스틱 회귀 (Logistic regression)
- 뉴럴 네트워크 (Neural networks)
정답
더보기
정답 1번
🐍 python 코드로 테스트
라이브러리 불러오기
from sklearn import datasets
import numpy as np # 수치 연산을 위한 라이브러리
from sklearn import tree # Decision Tree를 위한 라이브러리
Iris 데이터셋 로드
iris = datasets.load_iris() #Iris 꽃 데이터셋을 불러오기
Iris 데이터셋은 꽃잎(petal)과 꽃받침(sepal)의 길이/너비를 기반으로 세 가지 품종(Iris Setosa, Versicolor, Virginica)을 분류하는 문제이다
Decision Tree 모델 생성
clf = tree.DecisionTreeClassifier(max_depth=3, criterion='entropy')
모델 학습 (Training)
clf.fit(iris.data, iris.target)
예측 정확도 확인
predicted = clf.predict(iris.data)
sum(predicted == iris.target) / len(iris.target)
가시화(visualization)하기
import matplotlib.pyplot as plt
plt.figure(figsize = (20,20))
tree.plot_tree(
clf,
proportion=True,
feature_names = iris.feature_names,
filled=True,
rotate=True,
)
plt.savefig('Tree.pdf')
반응형
'클라우드(AWS) > AIF-C01' 카테고리의 다른 글
[AWS] 분류 모델 성능 평가 지표 (Classification Model) (0) | 2025.03.12 |
---|---|
[AWS] Named Entity Recognition (NER)란? 쉽게 정리 (0) | 2025.03.08 |
[AWS] Partial Dependence Plots(PDPs)란? 쉽게 정리 (0) | 2025.03.08 |