月別: September 2016

Talendによる機械学習の促進 – 決定木について

  決定木は、使いやすく、解釈しやすく、運用化しやすいことから、機械学習で幅広く使用されています。Bデータサイエンスと機械学習を対象とするサイトとして高い評価を受けているKD Nuggetsが最近発表した記事では、機械学習に役立つ「上位10」のアルゴリズムの1つとして決定木が選ばれています。 ほとんどの決定木アルゴリズムは、理解、使用、運用化が簡単であるだけでなく、次のような非常に便利な機能を含んでいます。 • 連続及び分類データの入力をサポートする • 重要な変数を明示する • 分類に必要な計算を最小限に抑える • 欠損値を自動処理する I機械学習の知識を持たない場合、これらの概念のいくつかは見慣れないものかもしれません。 Tこのブログでは、TalendとApache Sparkを使って決定木の基本を説明します。 詳細な分析については、下記の参考文献を参照してください。(2) ここで示す概念の一部は、これらの資料に基づいています。 機械学習の定義 この記事で使用するいくつかの用語については、簡単に説明しておく必要があります。 • トレーニングデータ – モデルをトレーニングするために使用されるデータのセット。ベクトル入力変数(特徴)と既知の結果(ターゲット)で構成されます。 • テストデータ – トレーニング後にモデルのパフォーマンスをテストするために使用されるデータのセット。 • 特徴 – モデルをトレーニングするために使用されるトレーニングデータ入力変数 • 目標 – トレーニングされたモデルからの出力 決定木のアルゴリズム 決定木の実装には複数あり、次の3つが最も一般的です。 ID3: • 1979年にロス・キンランが開発 • 木を上から下へと構築 • 情報利得を使用して最も有用な属性を選択 • 分類木向けの設計 • 貪欲アルゴリズムはデータに過剰適合する傾向 C4.5: • 枝刈りと呼ばれるボトムアップ手法により過剰適合に対応 • 不完全なデータポイントを処理 • 分類または連続データを処理 • ID3を拡張するためにキンランが開発 CART – Classification and Regression Trees • カリフォルニア大学バークレー校とスタンフォード大学の4人の統計学者が開発(1974~1984年) • データの雑音(異常値と欠損値)が大きい場合に正確な評価に焦点を当てる • 分類または連続データを従属変数の関数として処理 はじめに これら3つの実装のうち、最も一般的に使用されているのがCARTです。 Classification and Regression Trees(分類木及び回帰木)という名称が示すとおり、CARTはターゲット変数が年齢や髪の色等の有限リストとして表現される場合(分類)、または年間降水量のように連続している場合(回帰)に使用できます。 […]