salford predictive modelerご紹介2.cartとは 4 cart=classification and regression tree...
TRANSCRIPT
Salford Predictive Modelerご紹介
株式会社ウェーブフロント
Copyright © 2018 WAVE FRONT All Rights Reserved. 1
目次
1.SPM(Salford Predictive Modeler)について2.CARTとは3.MARSとは4.TreeNetとは5.RandomForestsとは
Copyright © 2018 WAVE FRONT All Rights Reserved. 2
Copyright © 2018 WAVE FRONT All Rights Reserved. 3
1.SPMとは
Salford Predictive Modeler
アメリカサンディエゴにあるSalford社によって開発されたデータマイニングツール
SPMには以下4つの強力な分析エンジンが搭載・CART・MARS・TreeNet・Random Forests
2.CARTとは
4
CART=Classification And Regression Tree
与えられたクラスに分類する(ラベリングする)ことを目的とする例:花の写真を読み込ませ花の種類を特定させるなど
連続するデータの予測を行う主に数値を扱い、特徴量から具体的に数値を導く手法例:株価の予測など
Classification:分類分析
Regression:回帰分析
2.CARTとは
5
CART=Classification And Regression Tree
選択肢ごと条件分岐させツリー構造を作り学習させていく手法
図の引用:wikipedia
Copyright © 2018 WAVE FRONT All Rights Reserved.
ゴルフクラブの来場状況
Tree
Copyright © 2018 WAVE FRONT All Rights Reserved. 6
年齢、学歴、性別、収入、カードの枚数、職業があるかどうか、住居など
SPMの例題データ:借金を返せたかどうかの判定
2.CARTとは
Copyright © 2018 WAVE FRONT All Rights Reserved. 7
SPMのCART出力
二分木のノード数
小さすぎる二分木 適切なサイズの二分木 大きすぎる二分木
2.CARTとは
Copyright © 2018 WAVE FRONT All Rights Reserved. 8
CARTの出力:二分木の詳細
二分木
二分木の詳細表示個人信用調査機関への照会数が1.5回以上か
職業欄が空白かどうか
借金の総額が5546(ドル?)以上か
クレジットカードの枚数が1.5枚以上か
個人信用調査機関への照会回数が1.5回以下で、職業欄が空白だったら、76.9%が借金を返せていない
個人信用調査機関への照会数が4.5回以上か
この構築したモデルを、CやJavaのソースコードで書き出せる。このツリーだとCのコード340行くらい。
2.CARTとは
Copyright © 2018 WAVE FRONT All Rights Reserved. 9
3.MARSとは
回帰分析を得意とし、関数を扱う。部分的な線形モデルを繋げることにより非線形にも対応
MARS=Multivariate Adaptive Regression Splines(多変量適応的回帰スプライン)
Copyright © 2018 WAVE FRONT All Rights Reserved. 10
3.MARSとは
線形回帰データから直線を構成し値を予測する
MARS(非線形回帰)部分的に直線を構成し非線形にも対応
2つの直線
※図はwikipediaより参照
データから関数を作る
Copyright © 2018 WAVE FRONT All Rights Reserved. 11
3.MARSとは
1970年のボストン市における506の国勢調査区域目標:生活の質の変数と資産価値の関係を研究する
LSTAT 近所の住人の、社会経済的背景RM 住居の、部屋数の平均値DIS 職場との距離PT (生徒の人数)/(先生の人数)・・・etc
SPMの例題データ:ボストンの住宅価格の変動を予測
Copyright © 2018 WAVE FRONT All Rights Reserved. 12
3.MARSとはSPMのMARSの出力
重要度スコア最大値を100に規格化
パラメータと影響度をグラフ化
Copyright © 2018 WAVE FRONT All Rights Reserved. 13
4.TreeNetとは
Tree2Tree1初期値Tree1の結果
Tree2の結果
データから小さなツリーを構成し、その結果をつなげていく手法
Copyright © 2018 WAVE FRONT All Rights Reserved. 14
4.TreeNetとは
𝑻𝒓𝒆𝒆𝑵𝒆𝒕= 𝑖𝑛𝑖𝑡𝑖𝑎𝑙 𝑣𝑎𝑙𝑢𝑒+ 𝜶𝐶𝐴𝑅𝑇1+ 𝜶𝐶𝐴𝑅𝑇2+⋯+𝜶𝐶𝐴𝑅𝑇𝑴
ボストン・ハウジング・データのTreeNet
推定値平均住宅価格22,533ドル
RM値6,835を基準に価格変動
RSTAT値14,76を基準に価格変動
SPMの例題データ:ボストンの住宅価格の変動を予測
Copyright © 2018 WAVE FRONT All Rights Reserved. 15
4.TreeNetとは
CやJavaのソースコードとして書き出せる。
double TreeNet_1(){/* TreeNet version: 8.2.0.782 *//* TreeNet: TreeNet_1 *//* Timestamp: 20180330132512 *//* Grove: C:¥Users¥略¥sample.grv *//* Target: Y1 *//* N trees: 198 */
double target, net_response = 0.0;int node, done;net_response+=INIT;
…このモデルのソースコードは約1万6千行
CARTやMARSと同様に、グラフ化可能CやJavaへの書き出しにも対応
入力データ
1変数、2変数のPartial Dependency PlotsTreeNet Model
モデル内のツリーの数(横軸)が増えると、誤差(縦軸)が下がる
各変数の重要度
SPMのTreeNetの出力
Copyright © 2018 WAVE FRONT All Rights Reserved. 16
5.Random Forestsとは
最終結果を多数決で決定する(アンサンブル学習)
Random Forests
データをランダムに抽出
Treeを複数生成する(木が沢山で森になる)
Copyright © 2018 WAVE FRONT All Rights Reserved. 17
5.Random Forestsとは
引用:http://www.vision.cs.chubu.ac.jp/cvtutorial/PDF/04RandomForests.pdf
Tree1 Tree2 TreeT
各Treeにつき全体データの約63%が使われ、残りの37%が検証用データとなる
Copyright © 2018 WAVE FRONT All Rights Reserved. 18
5.Random ForestsとはSPMのRandom Forestsの出力
Treeの本数が多くなるほどエラーが小さくなる
借金を返せるかどうかの判定
各データの相関を調べるための3D図も作成可能