決定木¶
決定木は以下のようなモデルで分類します。
決定木は自動で条件を学習するif文の連続、と考えれば分かりやすいでしょう。 決定木は 線形非分離 なデータも分類できます。
決定木を使うにはscikit-learnの DecisionTreeClassifier
を使います。
from sklearn.tree import DecisionTreeClassifier
tree = DecisionTreeClassifier() # 初期化
tree.fit(X, y) # 学習
この DecisionTreeClassifier
も他の分類器と同様に、 .fit(...)
、 .score(...)
や .predict(...)
メソッドが使えます。
分類される領域¶
プロットされた領域を見ると、決定木の特徴が見てとれます。 決定木は軸に水平、垂直の場合のみ分類できます。
学習した決定木の判定条件をあらわすと以下のようになります。
if文では軸に対して平行な分類しかできませんでした。
if weight > 60 and height < 170:
...
決定木も特徴の大きさ比較を続けることによって分類しています。
詳しくは sklearn.tree.DecisionTreeClassifier を参照ください。