RandomForest도 dtreeviz를 해보도록 하겠습니다.

결정목은 사람에게 판단 기준이 알기 쉬운 판별·회귀의 수법이다.
이 때문에 판단 기준을 가시화하고 싶은 경우가 많지만, dtreeviz라는 알기 쉬운 가시화 라이브러리가 공개됐기 때문에 목계를 결정하는 RandomForest로 간단하게 시도해 봤다.
결정목에 대해 알고 싶은 사람은 아래의 보도를 참고하세요.
https://qiita.com/3000manJPY/items/ef7495960f472ec14377

운영 환경


Google Colaboratory 를 사용합니다.

일단 결정목으로 해볼게요.


아래 페이지를 참고하여 결정 트리를 그렇게 실행하도록 하세요.
https://qiita.com/calderarie/items/e4321bff95ac3042601b
먼저 dtreeviz를 설치합니다.
! pip install dtreeviz
scikit-learn 부속 아이리스 데이터 집합을 사용합니다.3가지 꽃의 꽃잎 길이 등 데이터로 특징에 따라 분류 여부를 측정할 수 있다.
from sklearn.datasets import load_iris
from sklearn import tree
from dtreeviz.trees import dtreeviz

iris = load_iris()
clf = tree.DecisionTreeClassifier(max_depth=2)
clf.fit(iris.data, iris.target)
이렇게 하면 결정 나무를 얻을 수 있다.
dtreeviz로 가시화합니다.
viz = dtreeviz(
    clf,
    iris.data, 
    iris.target,
    target_name='variety',
    feature_names=iris.feature_names,
    class_names=[str(i) for i in iris.target_names],
) 

viz

꽃잎의 폭을 조건으로 판별하여 setosa,versi 색채로 분류된 결정 나무의 내용을 가시화한다.

RandomForest의 경우


RandomForest는 여러 개의 결정 나무를 사용하여 학습 데이터 이외의 데이터의 정밀도를 높이는 방법이다.
다음은 참조입니다.
말은 그렇지만 실행하기만 하면 간단하다.
from sklearn.ensemble import RandomForestClassifier

clf = RandomForestClassifier(n_estimators=150)
clf.fit(iris.data, iris.target)
결정나무가 여러 개 있지만 이번에는 맨 앞의 결정나무를 가시화해야 한다.
estimators = clf.estimators_
viz = dtreeviz(
    estimators[0],
    iris.data, 
    iris.target,
    target_name='variety',
    feature_names=iris.feature_names,
    class_names=[str(i) for i in iris.target_names],
) 

viz
출력하고 싶은 결정 트리를 결정하면 출력할 수 있습니다.

좋은 웹페이지 즐겨찾기