* Iris 데이터를 이용하여 의사결정트리(Decision Tree)를 구현하고
새로운 데이터를 예측한 뒤, 정확도를 평가하는 코드이다.
1. 데이터를 불러온다.
d = datasets.load_iris() # Iris 데이터를 불러온다.
: datasets.load_iris() 를 사용하여 Iris 데이터셋을 불러온다.
이 데이터셋은 Iris 꽃의 꽃잎과 꽃받침의 길이와 너비를 포함한 특성 데이터와
세 종류의 Iris 꽃(붓꽃)을 나타내는 클래스 레이블로 구성되어 있다.
2. 의사결정트리 모델을 생성한다.
dtree_model = DecisionTreeClassifier(max_depth = 4, min_samples_split = 3) # 2 의사결정트리 모델을 생성한다.
: DecisionTreeClassifier 를 사용하여 의사결정 모델을 생성한다.
이때 max_depth 는 트리의 최대 깊이를,
min_samples_split 은 노드를 분할하기 위한 최소 샘플 수를 지정한다.
3. 모델을 학습시킨다.
dtree_model.fit(d.data, d.target) # Iris 데이터로 의사결정트리 모델을 학습시킨다.
: fit() 메서드를 사용하여 의사결정트리 모델을 Iris 데이터로 학습시킨다.
특성 데이터(d.data)와 클래스 레이블(d.target)을 사용하여 모델을 학습시킨다.
4. 새로운 데이터로 예측을 수행한다.
new_d = [[6.4, 3.2, 6.0, 2.5], [7.1, 3.1, 4.7, 1.35]] # 새로운 데이터를 정의한다.
res1 = dtree_model.predict(new_d) # 학습된 의사결정트리 모델을 사용하여 새로운 데이터의 클래스를 예측한다.
print('새로운 2개 샘플 부류는: ', res1) # 예측 결과를 출력한다.
: 새로운 데이터 new_d 를 정의하고,
predict() 메서드를 사용하여 의사결정트리 모델을 사용하여 새로운 데이터의 클래스를 예측한다.
5. 학습된 모델로 전체 데이터를 예측하고 정확도를 평가한다.
res2 = dtree_model.predict(d.data) # 학습된 의사결정트리 모델로 전체 데이터의 클래스를 예측한다.
print('정확도: ', metrics.accuracy_score(res2, d.target)) # 예측 결과와 실제 타겟을 비교하여 정확도를 계산하고 출력한다.
: predict() 메서드를 사용하여 의사결정트리 모델을 사용하여 전체 데이터의 클래스를 예측한다.
metrics.accuracy_score() 를 사용하여 예측 결과와 실제 타겟을 비교하여 정확도를 계산한다.