스터디📖/ML, DL
머신러닝 처음 시작하기(인프런) - 9강 의사 결정 나무 구현
호프
2021. 8. 6. 20:36
머신러닝 처음 시작하기 (기초 원리 + 초급 실습) - 인프런 | 강의
머신러닝을 처음 접하는 사람들을 대상으로 기초적인 머신러닝 이론을 간략하게 다룬 머신러닝 기초 강의입니다., 그것이 알고 싶다!요새 핫한 머신러닝 🤖 [사진] 🗒 강의소개 (이 강의는 강
www.inflearn.com
9강 의사 결정 나무 구현
import pandas as pd
import numpy a np
import seaborn as sns
from sklearn.datasets import load_iris
iris = load_iris()
X = iris.data
y = iris.target
df = pd.DataFrame(X, columns = ['sepal_width(cm)', 'sepal_length(cm)', 'petal_width(cm)', 'petal_length(cm)'])
df.head() #5개 행 출력'
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.3)
#데이터 중에서 70%는 training data고 30%가 test data
from sklearn.tree import DecisionTreeClassifier
clf = DecisionTreeClassifier()
#의사 결정 나무 생성
clf = clf.fit(X_train, y_train)
#의사 결정 나무를 훈련
y_pred = clf.predict(X_test)
#test data set을 통해 예측
from sklearn import metrics
print("Accuracy: ", metrics.accuracy_score(y_test, y_pred))
#모델의 정확도를 알 수 있음
#의사 결정 나무 이미지 만들기
pip install graphviz
pip install pydotplus
from sklearn.tree import export_graphviz
import pydotplus
from IPython.display import Image
dot_data = export_graphviz(clf, out_file=None, feature_names = ['sepal_width(cm)', 'sepal_length(cm)', 'petal_width(cm)', 'petal_length(cm)'], class_names=iris.target_names, filled = True, rounded = True, special_characters = True)
graph = pydotplus.graph_from_dot_data(dot_data)
Image(graph.create_png())