knaka Tech-Blog

AI, IoT, DIYエレクトロニクス, データサイエンスについて投稿予定です。

sklearnで、 決定木 ( DecisionTreeClassifier ) 分類問題

index:

概要

機械学習で、決定木 を使用した。分類問題をテストしてみたいと
思います

定義としては、
ある目的(毒キノコかそうでないか、ある商品を購買するかどうかなど)に到達するために、
データの各属性の条件分岐をして、グループに分けていく方法を 決定木 といいます。
目的に辿りつくのにいろいろなルートがあり、それがツリー状になっているために決定木といいます。
さらに、この決定木は、目的となる変数がカテゴリー変数の場合は 分類木 という。

環境

python 3.5.2
sklearn

コード

python3 です。
github.com

データセット

毒キノコの、判定問題

処理

DecisionTreeClassifier を、使用し、
学習、予測、評価のスコアを求めます。

# 学習データとテストデータに分ける
X_train, X_test, y_train, y_test = train_test_split(X,Y, random_state=50)

# 決定木インスタンス(エントロピー、深さ5)
tree_model = DecisionTreeClassifier(criterion='entropy',max_depth=5, random_state=50)

tree_model.fit(X_train,y_train)

print("train:",tree_model.__class__.__name__ ,tree_model.score(X_train,y_train))
print("test:",tree_model.__class__.__name__ , tree_model.score(X_test,y_test))