ボストンの住宅価格のデータセットでまだ試していなかったこと
明けましておめでとうございます、hinomarucです。 昨年12月までに全8回にわけて、ボストンの住宅価格のデータセットを 使って各種アルゴリズムで数値予測をしました。
仕事をしながら考えていたのですが、 まだ2つ試していないアルゴリズム + α がありました。
アンサンブル学習と深層学習(deep learning) + 変数選択です。
アンサンブル学習
In statistics and machine learning, ensemble methods use multiple learning algorithms to obtain better predictive performance than could be obtained from any of the constituent learning algorithms alone.[1][2][3] Unlike a statistical ensemble in statistical mechanics, which is usually infinite, a machine learning ensemble consists of only a concrete finite set of alternative models, but typically allows for much more flexible structure to exist among those alternatives.
参照:https://en.wikipedia.org/wiki/Ensemble_learning
※ random forest や XgBoostもアンサンブル学習の一つなので 実施実施済みですが、XgBoost x 多項式回帰など はまだ試していない。
今まで作成した8つのアルゴリズムを組み合わせて、 多数決を取ったらかなり精度のよいモデルができるのではないかと 考えています。
例えば、今回のデータセットだと予測値と実際の価格の乖離が大きい 物件が複数件あります。(特に金額が大きい物件)
全体的に精度がよい物件と、金額が大きい物件の予測が上手なアルゴリズムを 組み合わせたらよいモデルができそうな気がします。 (汎用的なモデルを作成できるかどうかは別途考慮する必要がありますが)
20/1/13 追記
上記の方法は voting regressorと呼ばれるらしいです。
深層学習は何回か業務でも試したことがありますが、 いまいち理解しきれていないのであまり使ったことがありません。 画像分析とかで使っている他チームの事例を聞いたことがあるくらいです。
予測分析での活用はどうなのか少し試してみたいと思っています。
変数選択は、今回あまり注力していませんでした。 (色々なアルゴリズムを試したかったので)
ただ、Google Analyticsをみると 意外とPythonで重回帰をする記事が人気のようです。
PVアップのためもう少し詳細な分析やモデリングをする ところまでやってみようかと思っています。
その8 ボストンの住宅価格をXGBoostで予測してみた(Grid Searchでパラメータチューニング有)
12月に入って初めての投稿です。hinomarucです。 今回はXGBoostのパラメータチューニングをGrid Searchで行いました。
事前に試したいパラメータを定義しておき、一番精度のよい組み合わせを発見する方法です。
最適なパラメータを見つける方法はGrid Searchの他に下記のような探索方法もあるようです。 ・Random Search ・Bayesian Search
今回はデータ量も少ないので、すべての組み合わせを試すGrid Searchで最適なパラメータを見つけることにしました。
まずは定番な手法からやって徐々に高度化していくのが技術力向上への近道です。
今回にてBoston housingのデータを活用し、 一通りのアルゴリズムを試したので、 次回からは他のデータセットを見ていく予定です。
続きを読むその5 ボストンの住宅価格をサポートベクター回帰(SVR)で予測してみた
いつものボストン住宅価格の予測モデル作成です。
今回はサポートベクター回帰というものを 使ってみました。
サポートベクターマシーン(SVM)という名前は分類問題で よく聞きましたが、SVMの概念を回帰に適用したものをサポートベクター回帰(Support Vector Regression)と呼ぶそうです。
続きを読むSVMが他のアルゴリズムと差別化される特徴は、ただいくつかの点を分離する超平面を捜すことで終わるのではなく、いくつかの点を分離することができる幾多の候補平面の中でマージンが最大になる超平面 (maximum-margin hyperplane) を探す点にある。 参照: https://ja.wikipedia.org/wiki/サポートベクターマシーン