アクセスカウンター

  • 59本記事閲覧者数   👀💡:
  • 28今日の足あと    🦶💮:
  • 58795サイト訪問者数(累計)🦶💡:

機械学習 プログラミング

【機械学習】【R】Rでのデータ分析(4)Randomforest,XGboost、アンサンブル学習 ー銀行の顧客ターゲティング【SIGNATE】ー

 

どうも、solobochiのbochiです。

 

昨年、データサイエンティスト協会主催のデータサイエンティスト養成講座を受講し、その中でRを使ったデータ分析手法を学んだのでその復習兼ねてまとめておきます。

 

データサイエンティスト養成講座 2019年9月開講決定

 

 



 

 

目次

    1. 概要(※前回記事参照)
    2. データセット(※前回記事参照)
    3. データ分析(※前回記事参照)
    4. 前処理(※前回記事参照)
    5. モデル構築
    6. 予測
    7. 評価

 

 

5.モデル構築

前回記事↓まででデータ分析で最も手間のかかる前処理工程及び決定木での分析まで実施したので、同様にランダムフォレスト、XGBoostでの分析を実施する。

 

【機械学習】【R】Rでのデータ分析(3)決定木 ー銀行の顧客ターゲティング【SIGNATE】ー

 

 

 

ランダムフォレスト(RandomForest)

 

使ったコマンド

randomforest
使用目的:ランダムフォレストモデルの構築(学習)
使用方法:randomforest(dataframe(説明変数),
              y(目的変数),
mtry(各決定木に用いる特徴量の数),
sampsize(モデル構築に用いるデータ数),
nodesize(各決定木の終端ノードにおける最小サンプル数),
maxnode(各決定木の終端ノードにおける最大サンプル数),
ntree(生成する決定木の数),
importance(変数重要度の有無),
)

 

👉OOB(Out-Of-Bag):10.05%ということで、学習時点でモデルの予測エラー率は約10%

 

👉変数重要度。durationが圧倒的に高い点は決定木と同じ結果。

 

 

これをテストデータにも適用させて精度を検証する。

 

👉AUCは0.91とまずまずの値となりました。

 

 



 

 

さらにXGBoostでも分析を実施する。

※XGBoost:eXtremely Gradient Boosting。RandomForestとGradientBoostingをアンサンブル学習させた勾配ブースティング決定木のライブラリ。

 

XGBoost

 

使ったコマンド

xgboost
使用目的:xgboostのモデル構築
使用方法:xgboost(param, data, label, nrounds, nthread, importance)
※param = objective, eval_metric, eta, max_depth, min_child_weight, colsample_bytree, gamma, subsample

xgboostのパラメータの詳細についてはこちらのリファレンス参照。
xgboostリファレンス

 

👉AUCは92.3%となり、RandomForestよりも若干良いスコアになりました。

 

 



 

 

6.予測と結果

続いて、ここまで作成してきたモデルを使ってコンペ用のデータに対して予測を行います。

 

 

決定木

 

これで作成されるファイルを投稿すれば提出すれば完了。

決定木のデータでの精度は、およそ75%でした。

 

 

続いてランダムフォレストでもやってみる。

 

RandomForest

👉ランダムフォレストの結果、精度が91.3%に向上しました。

 

最後にxgboostでも同様に予測、投稿して結果を検証する。

 

 

XGBoost

 

👉精度が92.4%へと向上しました。

 

決定木(75%) < RandomForest(91.3%) < XGBoost(92.4%)

という結果になりました。

 

 

最後に、これらの結果をアンサンブル学習させてみます。

👉わずかですが、xgboost単体から92.5%まで精度向上しました。

 

 



 

 

7.評価

これまでの結果をまとめると以下の通り。

 

まず手元の学習データでの精度は、

・決定木 74.4%

・RandomForest 91%

・XGBoost 92.3%

 

 

続いて投稿した未知のデータでの精度では、

・決定木 75%

・RandomForest 91.3%

・XGBoost 92.4%

・アンサンブル 92.5%

 

となりました。

 

 

 

 

 

 

 

以上

 

 

 

 

⬇️他にもよく見られている記事⬇️

最も訪問者が多かった記事 10 件 (過去 7 日間)
  • この記事を書いた人
  • 最新記事
solobochi

solobochi

(名前):solobochi

(説明)
都内在住の独身アラサー男子
新卒で大手IT企業へ就職して気付けば10年。
このままではマズいという強烈な危機感から会社を休職。


🔸使命に生きたい
🔸好きなひとと好きなことで生きていきたい
これを人生懸けて実現すべく、人生模索中の日々


(Like)
🔹最適化することが好き
🔹PDCAを回すのが好き


(当サイト)
日々思うことを徒然と発信
└(例)
・学びのアウトプット
・投資・資産運用
・プログラミング
・資格試験の対策
・セミナーのレビュー
・書評
etc...

詳しくは自己紹介記事にて。
自己紹介①
自己紹介②
自己紹介③
自己紹介④

おすすめ記事

1

  どうも、solobochiです。     先日(7/6(日))受験した、JDLA(日本ディープラーニング協会)認定のG検定資格に無事合格しました。   &n ...

2

  どうも、solobochiです。     先日、PMP試験に無事合格しました。 振り返り記事のPart2です。試験対策、勉強方法についてはPart3でまとめています。 ...

3

  どうも、solobochiです。   2014年からなのでもうかれこれ6年弱、株や投資信託への投資をしています。 株を始めた頃は社会人5年目、ようやく仕事にも余裕が出てきた頃。 ...

4

  どうも、solobochiです。     昔から読書は好きで、ルーツを辿ると小学生の頃電車通学で、地下鉄丸ノ内線の終点からほぼ終点まで通っていたためその時間にいつも本 ...

5

    どうも、solobochiです。   2019年に入ってからというもの、休日は割とpython触ってます。といってもまだ簡単なサンプルコードをなぞるだけですが。 ...

-機械学習, プログラミング
-, , , , , ,

Copyright© そろボチ , 2020 All Rights Reserved Powered by AFFINGER5.