Forest Model (ランダムフォレスト) | Alteryx Predictive Tools 道場 Advent Calendar 2018 #07

2018.12.07

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは。DI部の大高です。

当エントリは『Alteryx Predictive Tools 道場 Advent Calendar 2018』の07日目のエントリです。

クラスメソッド Alteryx Predictive Tools 道場 Advent Calendar 2018 - Qiita

Alteryx Predictive Tools 道場 Advent Calendar | シリーズ | DevelopersIO

前提条件

Alteryxは「Alteryx Designer / Version 2018.4」を利用しています。

Forest Model (ランダムフォレスト) ワークフローとは

Alteryxを開き「ヘルプ > サンプルワークフロー > Predictive tool samples > Predictive Analytics > 7 Forest Model」から開くことができます。

実際に開いたワークフローがこちらです。

ワークフローの概要として記載されているとおり、このワークフローは以下のようなワークフローとなっています。

This workflow demonstrates how to use the Forest Model macro. A Forest Model is a learning algorithm that generates many decision trees to predict a target field. It has an additional benefit of producing graphical output that allows a user to quickly see which predictor fields are likely to be relatively more important for models created using other tools such as linear and logistic regression.

フォレストモデルマクロのデモワークフローです。フォレストモデルは対象フィールドを予測するために多くの決定木を生成する学習アルゴリズムです。線形およびロジスティック回帰などの他のツールを使用して作成されたモデルで、どの予測フィールドが比較的重要であるかをすばやく確認できるグラフィカルな出力を生成するという追加の利点があります。

なお「フォレストモデル」コンポーネントは「予測」タブから利用することができます。

ランダムフォレストとは?

フォレストモデルのコンポーネントの説明には以下のように記載されています。

以下のサイトでは、もう少し分かりやすい説明が記載されており、

・分類や回帰に使える機械学習の手法

・決定木をたくさん作って多数決する(または平均を取る)ような手法

という手法とのことです。

ランダムフォレストの概要を大雑把に解説 - 具体例で学ぶ数学

では、まずは実際にワークフローを実行してみましょう。

実行結果

実行結果はHTMLに出力してくれるようです。画像キャプチャした結果は以下のとおりとなります。分類木を500個利用してそれぞれ4つの変数を利用しています。結果として「Chk_Bal」、「Amount」、「Age」、「Purpose」あたりが重要であると判断されています。

各ツールの確認

サンプルワークフローでは各ツールの説明も記載されているので、それぞれ確認してみます。

テキスト入力ツール

テキスト入力ツールを使用して、予測モデルのデータを入力します。 提供されたデータは前処理されています。(生データを見るにはリフトチャートサンプルを参照してください) オリジナルデータをオーバーサンプリングして、デフォルトの「はい」と「いいえ」のフィールド値がほぼ同じになるようにしました。 また、最後の列に示すように、見積もりサンプルセットを作成しました。 データ自体は、UC Irvine機械学習データアーカイブから取得しています。http://archive.ics.uci.edu/ml/

入力データとしては、これらの値が設定されているようです。なお、「Lift Chart(リフトチャート)」ワークフローについては、当アドベントカレンダーの10日目にご紹介予定です。

フォレストモデルマクロ

マクロをクリックして[設定]タブを開きます。 ここでは、モデル名を指定し、ターゲット変数を選択して、予測変数を選択することができます。 使用するツリーの数と、各分割で選択する変数の数を入力することができます。

フォレストモデルマクロの設定は以下のようになっていました。「モデル名」は「Forest_model」、「ターゲット変数」は「Default」(YesかNoのフィールド)、「予測変数」は「Default」と「Sample」以外のすべてが選択されていました。また、「ツリーの数」は「500」が設定されていました。

閲覧ツールとレンダリングツール

左出力に閲覧ツールを接続して、シリアライズされたモデルを表示します。 右出力にレンダリングツールを接続すると、結果のレポート情報が表示されます。 これには、統計サマリー、異なるツリー数に対するパーセンテージ誤差のプロット、および可変重要度プロットが含まれます。

ワークフロー実行後には、以下のように閲覧ツールからデータを参照できました。シリアライズされたモデルの出力がこちらにあたるようです。

レンダリングツールの設定は以下のようになっており、出力として一時HTMLファイルが出力されます。

まとめ

以上、Forest Model(ランダムフォレスト)ワークフローの紹介でした。

明日08日目は甲木 洋介による「8.Linear Regression」(線形回帰)です。明日もお楽しみに!

Alteryxの導入なら、クラスメソッドにおまかせください

日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。

alteryx_960x400