TensorFlowではじめる物件探し〜その1
の続きです。
おことわり
- (続きと言っておきながら)今回はTensorFlowを使っていません。scikit-learnとpandasがメインです。
- 前回と同じ物件データに対して、今回は、物件の特徴量から価格('price')を予測する回帰問題としていくつかの手法を適用しています。
分析の結果
詳細な手順は、Jupyter Notebookで公開しています。文献やWebページを参考にしながら、分析を試みましたので、よければご覧ください。
結論めいたものを、こちらにも書いてみます。
価格予測に役立つ特徴量
- 他の特徴量に比べて以下の特徴量が'price'の予測により役立っている
- 'years' (築年数)
- 'walk_minutes' (最寄り駅からの徒歩分数)
- '2LDK'
確かに「築年数」「最寄り駅からの徒歩分数」は物件の価格に影響しそうな印象があります。当たり前といえば当たり前な気もしますが、データから結論が出せたという意味ではよかったです。
回帰の手法について
- 今回のデータセットに対してうまくいった回帰手法
- (テストデータ) ランダムフォレスト、K最近傍、決定木
- (訓練データ) 決定木、ランダムフォレスト、K最近傍
ランダムフォレストの実行結果を抜粋してみます。scoreを見てもそれなりによく予測できているように見えます。
(訓練データ、テストデータともにlog変換を施しているため、'prices'の数字はかなり小さくなっています)
実際に物件の価格を予測すると
いい線行っている物件もあればそうでないものもあり・・・
次回は
「データの中身を見たりしながら」と前回書きましたが達成できませんでした。
実際にはその過程がかなり大事で、上の「実際に物件の価格を予測すると」でも1件ずつ中身を見た方がいいに決まっているのですが、データ取得時からかなり時間が経っていることもあって、今回は実現できず。。。
後で見返しやすい形でデータのETLをしないといけないですね。