Python Ubuntu

Pythonではじめての機械学習2〜scikit-learnとpandasで決定木

投稿日:

決定木(Decision Tree)

決定木は、木構造になっている分類器.
ある特徴を持ったデータと分類結果から学習して、決定木を作成する.
その方法は、ジニ係数という尺度で、データ群をもっとも分類できる特徴から抜き出していき、順番にデータ群を分類できる特徴を抜き出していく.
その結果、木構造になった分類器ができる.

サンプルデータの用意

Irisデータを使って決定木を作ってみる.
Irisデータは一番有名なサンプルデータ.

学習用データと検証用データにわける

特徴的なデータが検証用データに偏ると学習時に分類できないことがあるので注意.

scikit-learn

学習結果の保存と読込

決定木の図を作成

まずgraphvizをインストールしておく.

次に、pydotplusをインストール

scikit-learn で決定木分析 (CART 法)を参考に保存.

決定木の図の見方
まず、X[3]<=0.8かどうかで、第1群がすべて分類できる.
次に、X[3]<=1.75かどうかで、第2群が多いグループと第3群が多いグループにわけられる.
というふうに、最後まで下っていけば、分類ができるという仕組み.
ディープラーニングでは学習結果はブラックボックスだが、決定木では学習結果が見通せるところがよいところ.

-Python, Ubuntu
-, , , ,

執筆者:

関連記事

Tensorflowのモデリング2〜RNN

By: fdecomite – CC BY 2.0 目次1 Reccurent Neural Network(RNN)2 入力値を計算3 RNNのモデル4 損失関数とオプティマイザーの定義 …

Kaggleの機械学習のコースで勉強したまとめ

By: Martin Howard – CC BY 2.0 目次1 Machine Learning Course2 データの事前処理3 Model Validation 学習結果の評価4 …

はじめてのKaggle~pandas、scikit-learn

By: Internet Archive Book Images – Flickr Commons 目次1 kaggle2 kaggleコマンドのインストール3 タイタニック:災害の機械学 …

Ubuntu14.04のElasticsearch1.5に日本語形態素解析プラグインKuromojiを追加する

By: Bùi Linh Ngân – CC BY 2.0 目次1 Kuromoji2 インストール3 試す4 情報5 日本語の為のスキーマレス環境構築をやってみた Kuromoji el …

Pythonではじめての強化学習〜OpenAIGym

By: scarletgreen – CC BY 2.0 目次1 強化学習2 強化学習問題のモデル化〜マルコフ決定過程3 Open AI Gym4 Open AI Gymのインストール5 …