superi

主にキャリアと金融を嗜むメディア

Python scikit-learnで決定木による予測モデル作成


スポンサーリンク

前回の記事で決定木分析を行い、graphvizによる可視化をしました。

 

www.superi.jp

 

 

 今回は決定木で分類の予測モデルを作成したいと思います。

#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%ですね。まあ、当然ですが。

参考

scikit-learn で決定木分析 (CART 法) – Python でデータサイエンス