44章詳細:決定木とランダムフォレスト

これまで、単純な生成分類器(ナイーブベイズ、「41章 詳細:ナイーブベイズ分類」を参照)と、強力な識別分類器(サポートベクターマシン、「43章 詳細:サポートベクターマシン」を参照)について学びました。ここでは、別の強力なアルゴリズム、つまりランダムフォレストと呼ばれるノンパラメトリック†1アルゴリズムについて学びます。ランダムフォレストはアンサンブル法(ensemble method)の一例であり、単純な推定器の結果を組み合わせる方法を用います。このようなアンサンブル法の持つ驚くべき機能は、組み合わせにより個々の推定器よりも優れた結果をもたらす可能性がある点です。つまり、多数の推定器の多数決を採用すると、投票に参加した個々の推定器のいずれよりも良い結果が得られることがあります。以降の節で、この例を紹介します。

[†1] 訳注:モデルが特定の分布に従っていることを前提としない手法をノンパラメトリックと呼ぶ。

最初に標準的なモジュールをインポートします。

In [1]: %matplotlib inline
        import numpy as np
        import matplotlib.pyplot as plt
        plt.style.use('seaborn-whitegrid')

44.1 ランダムフォレストの必要性:決定木

ランダムフォレストは、決定木の上に構築したアンサンブル推定器の例です。そこで、はじめに決定木について学びます。

決定木は、オブジェクトを分類またはラベル付けするための非常に直感的な手法です。分類ができなくなるまで一連の質問を行うだけです。例えば、ハイキング中に出会った動物を分類するための決定木を構築する場合は、図44-1 ...

Get Pythonデータサイエンスハンドブック 第2版 ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.