【パイソン機械学習】決定木のコード解析

>出典

scikit-learn で決定木分析 (CART 法) - Python でデータサイエンス

 

>コード解析

>>①データの読み込み

f:id:zizamo2193:20210410204234p:plain

前回同様Load_xxでデータを読み込んでいます。読み込んだデータをiris.data、iris.targetで出力することもできるみたいです。実際手元の開発環境でやってみると、こういうことになりました。

f:id:zizamo2193:20210410204310p:plain

f:id:zizamo2193:20210410204324p:plain

 

データの内容はこういう構造になっていると推測できます。

f:id:zizamo2193:20210410204347p:plain

 

>>②分類器にデータ(説明変数と目的変数)を渡す

f:id:zizamo2193:20210410204421p:plain

これで先述のデータを学習したことになったのでしょうか。

 

>>③学習済みの分類器に説明変数のみを渡して分類してもらう

f:id:zizamo2193:20210410204439p:plain

学習に使った説明変数をそのまま使っています。もしこれが新しい151番目の個体が入ってきたとしたら、という想定で手元の環境でやってみます。学習に使った説明変数の1番目のデータと同じパラメータのデータだとしたら、0に分類されるはずです。その要領で0に分類されるべき個体、1に分類されるべき個体、2に分類されるべき個体の3個体を含んだ配列を作って、それをこの分類器に渡してみましょう。二次元配列の作り方は出典下記です。

 

【Python】二次元配列を自在に操れ。【初期化・参照・抽出・計算・転置】 - Qiita

 

こう作りました。

f:id:zizamo2193:20210410204452p:plain



分類器に入れてみると、

f:id:zizamo2193:20210410204503p:plain



分類できていることがわかります。

 

>>④決定木を可視化

やろうとしましたが、pydotplusがないからムリという趣旨と思われるエラーメッセージが出ました。