Posts on Random Forests

機械学習って面白い。Pythonを使ってデータを分類、可視化してみた。

実践Pythonデータサイエンスのレクチャー86 決定木とランダムフォレスト、やっっっと最終章に辿り着きました。 まぁ、理解しきれてないけど… 長かった。 この最終章、visualize_tree()という独自関数を使ってランダムフォレスト分類器による分類結果を二次元マップとして描いて可視化するんですが、パッと見、よく分からないんです。 理解した気になったmeshgrid()関数のことを、実際は理解できていなかったことも要因かな…。 復習を兼ねてvisualize_tree()関数を紐解いてみたら、その過程がとても楽しかったので、簡単に紹介します。 やりたいこと 機械学習の教師用データを自分で作り、それを学習したモデルを作って、未知のデータを網羅的に与えた結果を図示して楽しむのが、ここでの目的です。 機械学習って、本来はもっと高尚な目的があって分析すると思うんですが、ここではその辺りは無視します。 可視化までの流れ概略 教師用データを単純に描画するとこうなって、 教師用データの最大最小範囲に収まる領域を満遍なく予測するため、青い点で示した座標値を作り、 それを分類モデルに与えて、結果を色付けして重ねてやると、こうなる。これは面白い。 可視化までの流れ詳細 では、実際にコードを書いて備忘録を作っていきます。 教師となるデータを作る まずはsklearn.datasets.make_blobs関数を使って、教師データを作ります。 import numpy as np import pandas as pd from pandas…