Python scikit-learnで決定木による予測モデル作成
前回の記事で決定木分析を行い、graphvizによる可視化をしました。
今回は決定木で分類の予測モデルを作成したいと思います。
#scikit-learn付属のirisデータを読み込み
from sklearn.datasets import load_iris
iris = load_iris()
モデル作成
モデル作成には、tree.DecisionTreeClassifierクラスのfit関数を使います。ここまで前回と同じです。
#決定木のクラスの読み込み
from sklearn import tree
#木の深さを指定し、モデルを生成
clf = tree.DecisionTreeClassifier(max_depth=3)
clf = clf.fit(iris.data, iris.target)
モデル評価
作成したモデルを評価するため、score関数にテストデータとその分類ラベルを投入すると正答率か返ってきます。
#正答率
clf.score(iris.data, iris.target)0.97333333333333338
学習データと同じデータでテストしたので当然正答率は高いですね。
ちなみに5階層にしてみると、
#木の深さを指定し、モデルを生成
clf = tree.DecisionTreeClassifier(max_depth=5)
clf = clf.fit(iris.data, iris.target)#正答率
clf.score(iris.data, iris.target)1.0
と正答率100%ですね。まあ、当然ですが。