前回のおさらいもかねて 塾のアンケート結果を分析した決定木の全体像を復習しましょう
クイズで学んだ知識でぜひもう一度 読み解いてください
前回のおさらいもかねて 塾のアンケート結果を分析した決定木の全体像を復習しましょう
クイズで学んだ知識でぜひもう一度 読み解いてください
決定木の一番上の四角形を「ルートノード」と言うんですよね
1行目は最初は読まないんですよね
その通りです 決定木を読み解くために まずはルートノード内の2〜4行目の情報に注目します
・2行目(samples):このノードで分類の対象となるデータの件数です。 今回の例では、100件のデータが存在しています。
・3行目(value):このノード内のデータの割合を [不合格者数, 合格者数] で示します。 今回の例では、不合格者数35件、合格者数65件です。
・4行目(class):このノード内で多数を占めるデータの種類(不合格 か 合格)です。 今回の例では、「合格」です。
赤枠内の情報を整理すると「このノードには100件のデータが存在し(samples) そのうち35件が不合格で65件が合格(value) よって合格者が多数を占めるグループ(class)となっている」ということなんだよな
そして次は 決定木において最も重要な1行目に注目してみましょう
1行目は、100件の訓練データを学習した結果、決定木が「合格」と「不合格」を効率的に分けるための条件式を示しています。
今回の場合は「睡眠時間が5.5時間以下か」を判断基準にすると良いと、訓練データから学習して導き出しました。
決定木はルートノードの1行目の条件式に従ってデータを分類し、さらに下段のノードに進みます。
この条件式に合致するデータは左側のノードへ、合致しないデータは右側のノードへと進むことになります。
今回の場合は、平均睡眠時間が5.5時間以下のグループは左のノードに進みます。
左側のノードの2~4行目からは「平均睡眠時間が5.5時間以下のデータは30件(samples)」 「そのうち20件が不合格で、10件が合格(value)」「不合格者が多数を占めるグループ(class)」という情報が読み取れます。
下段のノードに進む時は「不合格」の35名が左へ 合格の65名が右へ行くわけではないんですよね
そうなんです 今回の場合は平均睡眠時間が5.5時間以下のグループが左のノードに進んで 平均睡眠時間が5.5時間を超えるグループは右のノードに進むということになります
この結果から 決定木は訓練データから「平均睡眠時間が短い生徒は不合格になる傾向が高い」という結論を導き出したということが分かります
ここでは決定木の2段目、右側のノードを詳しく見ていきます。
このノードには、平均睡眠時間が5.5時間を超えるデータが進みます。
右側のノードの2~4行目からは「平均睡眠時間が5.5時間を超えるデータは70件(samples)」 「そのうち15件が不合格で55件が合格(value)」「合格者が多数を占めるグループ(class)」という情報が読み取れます。
2段目の2〜4行目の情報は大体分かったから 次は1行目の条件式に注目してみるぞ
決定木の1段目で「平均睡眠時間 <= 5.5」という条件によって、条件を満たすグループ(左側)と満たさないグループ(右側)に分類されました。
決定木は、これらのグループをさらに細かく分類し、合格者と不合格者をより正確に分けるために、2段目の条件を導き出します。
この段階での条件式が、「スマホあり <= 0.5」と「平均睡眠時間 <= 9.5」です。
2段目の二つのノードは 左側と右側で条件式が異なりましたね
それを踏まえた上で 3段目のノードを確認してみましょう
ここでは決定木の3段目のノードを詳しく見ていきましょう。
まずは、2段目左側のノードと、そこから伸びる3段目のノードを読み解いていきます。
この2段目左側のノードには「睡眠時間が5.5時間以下」の30件のデータが存在します。
この30件には不合格者20件、合格者10件が混在しており、これをさらに分類するために決定木が導き出したのが「スマホあり <= 0.5」という条件です。
この条件は、スマホを所有していない(0)か、所有している(1)かを示しており、この条件で3段目の左側のノードと右側のノードに分類されます。
3段目の左側のノードでは 13人のうち合格者が8人で 不合格者が5人と 合格者がやや多いグループなんだな
それに対して 右側のノードは17人中15人が不合格で 不合格者が多いみたいだな
このノードは 睡眠時間が短くスマホを所有している人のグループなんだけど もしかするとスマホによる過度な夜更かしの影響があるのかもな
次に 右側のノードを見てみましょう
この2段目右側のノードには「睡眠時間が5.5時間を超える」の70件のデータが存在します。
この70件には不合格者15件、合格者55件が混在しており、これをさらに分類するために決定木が導き出したのが「平均睡眠時間 <= 9.5」という条件です。
この条件で3段目の左側のノードと右側のノードに分類されます。
2段目右側のノードは 平均睡眠時間が5.5時間を超えるグループですが 決定木はここからさらに合格者と不合格者を分けるために「平均睡眠時間 <= 9.5」という条件を導き出しました
これを見ると 睡眠時間は短すぎても 長すぎても良くないのかなって思います
今回の決定木からは「平均睡眠時間が5.5時間以下でスマホを所有している人は不合格の割合が多い」「平均睡眠時間が5.5~9.5時間の人は合格する割合が多い」といった傾向を読み取ることができました
決定木は訓練データをもとに 合格者と不合格者をできるだけ明確に区分する条件を見つけ出しますが 完璧に分類できるわけではありませんので注意しましょう
分類に重要な要因とそうでない要因
決定木は学習を通じて、分類に重要な要因とそうでない要因を自動的に選別します。
そのため、条件式に選ばれない要因もあり、今回は「部活動の有無」が重要ではない要因とされ、決定木の条件式では使用されませんでした。