6章決定木

SVMと同様に決定木(decision tree)は、分類と回帰の両方のタスクを実行でき、多出力タスクさえこなせる柔軟性の高い機械学習アルゴリズムである。決定木は強力で、複雑なデータセットに適合できる。たとえば、2章ではカリフォルニアの住宅価格データセットを使ってDecisionTreeRegressorを訓練したが、うまく適合した(実際には、それを通り過ぎて過学習していた)。

決定木は、現役で使われている機械学習アルゴリズムのなかでも有数の力を持つランダムフォレスト(7章参照)の基本構成要素でもある。

この章では、決定木の訓練、可視化、決定木による予測について説明してから、scikit-learnが使っているCART訓練アルゴリズムを深く掘り下げ、さらに決定木の正則化の方法と回帰のタスクでの使い方を説明する。最後に、決定木の限界について触れる。

6.1 決定木の訓練と可視化

決定木を理解するために、まずとにかく決定木を作って、どのように予測を行うのかを見てみよう。次のコードは、irisデータセット(4章参照)を使ってDecisionTreeClassifierを訓練する。

from sklearn.datasets import load_iris from sklearn.tree import DecisionTreeClassifier iris = load_iris() X = iris.data[:, 2:] # petal length and width X = iris.data[:, 2:] # 花弁の長さと幅 y = iris.target tree_clf = DecisionTreeClassifier(max_depth=2) tree_clf.fit(X, ...

Get scikit-learn、Keras、TensorFlowによる実践機械学習 第2版 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.