機械学習

DecisionTreeClassifierクラスを用いて2値分類をしてみた

以下の記事で、ロジスティック回帰分析によって、アヤメがvirginicaであるかどうかを分類していた。

LogisticRegressionクラスを用いてロジスティクス回帰分析の尤度関数の最適解を算出してみた 以下の記事で、ロジスティック回帰分析に従う、アヤメがvirginicaである確率\(p\)の計算式を算出してきた。 https...

同様の分類を行う手法には、ロジスティック回帰分析以外にも存在し、その1つに決定木分析がある。

決定木分析とは、木構造(樹形図)を用いてデータを分析する手法で、データ分析や機械学習のためのライブラリの一つであるscikit-learnに含まれている。

今回は、scikit-learnのDecisionTreeClassifierクラスを用いて、アヤメがvirginicaかどうか判定してみたので、そのサンプルプログラムを共有する。

DecisionTreeClassifierクラスを用いて、アヤメがvirginicaかどうかを判定した結果は以下の通りで、正常に判定できていることが確認できる。

DecisionTreeClassifierクラスによる判定

また、上記DecisionTreeClassifierクラスのモデルを利用した場合の木構造を表示した結果は、以下の通り。

DecisionTreeClassifierクラスの木構造



「DroidKit」はAndroid端末のデータ復元や画面ロック解除等が行える便利なツールだった「DroidKit」は、画面ロック解除、FRPバイパス、データ復元、システム修復、および4つのより効果的なツールを含んでいて、ほぼすべて...

さらに、DecisionTreeClassifierクラスのmax_depthによって、作成される木構造の構造(深さ)が異なる。その結果を確認した内容は、以下の通り。

●実行結果(max_depth=2の場合)
DecisionTreeClassifierクラスのmax_depth(max_depth=2の場合)

●実行結果(max_depth=3の場合)
DecisionTreeClassifierクラスのmax_depth(max_depth=3の場合)

●実行結果(max_depth=4の場合)
DecisionTreeClassifierクラスのmax_depth(max_depth=4の場合)

要点まとめ

  • 決定木分析とは、木構造(樹形図)を用いてデータを分析する手法で、ロジスティック回帰分析のような2値分類に利用できる。
  • 決定木分析を行うライブラリは、データ分析や機械学習のためのライブラリの一つであるscikit-learnに含まれていて、DecisionTreeClassifierクラスを利用して実施できる。
  • 決定木の深さは、DecisionTreeClassifierクラスのmax_depthで指定する。