(旧) ヒノマルクのデータ分析ブログ

どんな企業、地域、国でも働けるようなスキルを身につけていくブログ

PythonやBIツールを使って分析と可視化をします

ボストンの住宅価格のデータセットでまだ試していなかったこと

明けましておめでとうございます、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と呼ばれるらしいです。

scikit-learn.org

深層学習は何回か業務でも試したことがありますが、 いまいち理解しきれていないのであまり使ったことがありません。 画像分析とかで使っている他チームの事例を聞いたことがあるくらいです。

予測分析での活用はどうなのか少し試してみたいと思っています。

変数選択は、今回あまり注力していませんでした。 (色々なアルゴリズムを試したかったので)

ただ、Google Analyticsをみると 意外とPythonで重回帰をする記事が人気のようです。

PVアップのためもう少し詳細な分析やモデリングをする ところまでやってみようかと思っています。

その8 ボストンの住宅価格をXGBoostで予測してみた(Grid Searchでパラメータチューニング有)

12月に入って初めての投稿です。hinomarucです。 今回はXGBoostのパラメータチューニングをGrid Searchで行いました。

事前に試したいパラメータを定義しておき、一番精度のよい組み合わせを発見する方法です。

最適なパラメータを見つける方法はGrid Searchの他に下記のような探索方法もあるようです。 ・Random Search ・Bayesian Search

今回はデータ量も少ないので、すべての組み合わせを試すGrid Searchで最適なパラメータを見つけることにしました。

まずは定番な手法からやって徐々に高度化していくのが技術力向上への近道です。

今回にてBoston housingのデータを活用し、 一通りのアルゴリズムを試したので、 次回からは他のデータセットを見ていく予定です。

続きを読む

その7 ボストンの住宅価格をXGBoostで予測してみた

住宅価格を予測するにあたって、 様々な機械学習アルゴリズムを試してみました。

今回はXGboostを試してみました。 コンペなどで使われることが多く、 上位に入賞するにはほぼマストで 試してみる必要があるアルゴリズムですね。

続きを読む

その6 ボストンの住宅価格をランダムフォーレストで予測してみた

今回はランダムフォーレスト(Random Forest)で ボストンの住宅価格を予測してみました。

数年前はRandom Forestがよく使われていたイメージですが、 いまはXgBoostとかになりましたね。

以前の案件で、あいまいなデータから予測モデルを作る必要があり、Random Forestでも全く精度がでないときがありました。

どんなデータ(食材)を扱うかも重要だとそのとき学びました。

続きを読む

はてなブログPerfect Guidebookという本を買いました

ネットだけでも莫大な情報が検索できるのですが、 はてなブログでどういう設定が必要かを学びたかったので 購入しました。

新しいことを学ぶときに私はまず関係図書を読み漁ります。

ネットだけで調べてもその場しのぎになってしまうので、 極力全体像を把握するようにしています。

時間がないときは、とりあえず今の課題を解決することが 最優先になりますけどね

続きを読む

その5 ボストンの住宅価格をサポートベクター回帰(SVR)で予測してみた

いつものボストン住宅価格の予測モデル作成です。

今回はサポートベクター回帰というものを 使ってみました。

サポートベクターマシーン(SVM)という名前は分類問題で よく聞きましたが、SVMの概念を回帰に適用したものをサポートベクター回帰(Support Vector Regression)と呼ぶそうです。

SVMが他のアルゴリズムと差別化される特徴は、ただいくつかの点を分離する超平面を捜すことで終わるのではなく、いくつかの点を分離することができる幾多の候補平面の中でマージンが最大になる超平面 (maximum-margin hyperplane) を探す点にある。 参照: https://ja.wikipedia.org/wiki/サポートベクターマシーン

続きを読む