데이터가 이렇게 존재 한다고 할때
빨강과 초록을 지정하려고 하려면 어떻게 해야할까
세로축인 X2가 60보다
작은지 큰지 로 쪼갠뒤
크다면
가로축인 X1이 50보다
작은지 큰지 로 쪼개
작다면 초록색으로
좌측상단의 초록색 그룹을 지정하고
다음은 X2가 60보다 작은 선택지에서의
X1이 70보다 큰지 작은지로 쪼갠뒤
큰쪽에서 X2가 큰지 작은지로 다시 쪼갠뒤
X2가 큰쪽을 초록색으로 그룹지어준다
이런식으로 예 아니오 라는 질문을 통해
나무가지처럼 뻗어 나가는 형식을 통해
각각의 답을 찾아나아가는 방식이 의사결정 트리 이다
고로, 여러 가지 질문의 여러가지 yes,no 같은 답을 찾을수 있는 방법이다
역시 다른 방법들과 마찬가지로 데이터 전 처리 부분은 동일하며
사이킷런의 .tree 모듈을 통해 DecisionTreeClassifier를 임포트 해준다
from sklearn.tree import DecisionTreeClassifier
classifier = DecisionTreeClassifier(random_state=1)
classifier.fit(X_train,y_train)
y_pred = classifier.predict(X_test)
from sklearn.metrics import confusion_matrix,accuracy_score
cm = confusion_matrix(y_test, y_pred)
cm
array([[50, 8],
[ 8, 34]], dtype=int64)
accuracy_score(y_test,y_pred)
0.84
코드로 입력하는 부분은 다른 모델들과 큰 차이는 없다
'Python > MachineLearning' 카테고리의 다른 글
Hierarchical Clustering - 개념 (0) | 2024.04.16 |
---|---|
K-Means Clustering - 개념 + WCSS (0) | 2024.04.15 |
Support Vector Machine - 개념 (0) | 2024.04.15 |
K - Nearest Neighbor - 개념 (0) | 2024.04.15 |
Logistic Regression - 개념 (0) | 2024.04.15 |