【VBA】ランダムフォレスト回帰の実装

機械学習

今回は機械学習の一つであるランダムフォレストをフルスクラッチで実装します。言語はPythonでも無く、Cでも無く、だれでも簡単に使えるVBAです。VBAで実装する理由としては、超大手企業などの場合、PythonやCの開発環境を仕事用のPCに入れるだけでも、ITセキュリティ観点から難しかったりします。そんな会社でも、Excelが無い会社はもうこの日本にはほぼ無いのではないかと思われますので、Excelで使えるVBAを用いて実装してみることにしました。また、自分自身のアルゴリズム理解のためだったりします。

また、Excelファイル自体は以下のGitHubにあげています。

https://github.com/Daisuke0209/XGboost/blob/master/190519_%E3%83%A9%E3%83%B3%E3%83%80%E3%83%A0%E3%83%95%E3%82%A9%E3%83%AC%E3%82%B9%E3%83%88%E5%AD%A6%E7%BF%92%E3%83%9E%E3%82%AF%E3%83%AD-ver.7-.xlsm

VBAによるランダムフォレスト実装

VBAはJupyter Notebookのようなノート形式の開発環境ではないので、ソースを一気に下に載せます。ただ、かなり見辛いと思います。

解説は勘弁してください!時間あれば書きます!

まとめ

ランダムフォレストをExcel VBAでフルスクラッチ実装してみました。sklearnのランダムフォレストで使えるmax_depthなどのパラメータを反映させる機能はまだありませんが、ランダムフォレストとは何ぞや?っていうところが90%ぐらい理解できるようになったと思います。以上!

また、機械学習を勉強するための参考書を以下で紹介しています!よかったら見ていってください。

機械学習を勉強するためのオススメ参考書(理論・Python・Webアプリ)
統計・機械学習に関しては授業で習ったところありますが、結構忘れてしまっています(。また、Rの演習の授業はありましたが、Pythonは学生のころには使っていません。機械学習・データサイエンスを勉強するにあたり、私が参考にしている参考書を一挙ご紹介したいと思います。

コメント