Data Science

220117) Iris data로 Random Forest 실습

고양이호랑이 2022. 1. 17. 17:06

* load_iris 데이터셋

- petal length, petal width, sepal length, sepal width에 따라 세 종류로 나눌 수 있다.

 

 

데이터 로드

from sklearn.datasets import load_iris

load_iris() # 붓꽃 데이터 리턴 - dict
ir_dic = load_iris()

X = ir_dic['data'] # 독립변수 저장
y = ir_dic.target # 종속변수 저장

 

Random Forest Classifier 학습

from sklearn.ensemble import RandomForestClassifier
rfc = RandomForestClassifier(n_estimators=10) # 10개의 Decision Tree를 만들 객체 생성

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
rfc.fit(X_train, y_train) # 트리 만들기

rfc.estimators_[8] # 9번째 Decision Tree 확인할 수 있다

 

랜덤하게 만들어진 결정트리 10개 중 하나의 트리 시각화

from sklearn import tree
import pydotplus
from IPython.display import Image

dt_dot_data = tree.export_graphviz(rfc.estimators_[8],
                     feature_names=['sepal length', 'sepal width', 'petal length', 'petal width'],
                     class_names=['setosa', 'versicolor', 'virginica']) # 9번째 트리 시각화
                
dt_graph = pydotplus.graph_from_dot_data(dt_dot_data) # dt_dot_data(트리내용)을 그림으로 바꿀 객체 생성
Image(dt_graph.create_png())

 

만든 이미지를 pdf로 내보낼 수도 있다.
dt_graph.write_pdf('9번째 트리 고이고이 간직하리.pdf')​

성능평가지표는 다음 시간에.. (https://horangcat.tistory.com/16)

 

(참고자료)

https://en.wikipedia.org/wiki/Confusion_matrix

 

Confusion matrix - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Table layout for visualizing performance; also called an error matrix Terminology and derivationsfrom a confusion matrix condition positive (P) the number of real positive cases in the

en.wikipedia.org

https://towardsdatascience.com/the-f1-score-bec2bbc38aa6

 

The F1 score

All you need to know about the F1 score in machine learning. With an example applying the F1 score in Python.

towardsdatascience.com