Part2です。
Part1はこちらをご覧ください。
予告通り、今回は実際に再帰分割線形モデルを用いて家賃の推定と、実際にお得な物件を探しいきたいと思います。
データの中より、モデルに取り入れられそうなカラムを抽出し、num_datにストアします。
num_dat = select(rent, title, area, floor, price, admin, maintenance, dis, deposit, key, renewal, year)
モデリング
library(rpart) library(rpart.plot) price_model_rpart = rpart(price ~ .,data = select(num_dat, -title)) prp(price_model_rpart, type = 4, varlen = 0)
分割木プロットでモデルを視覚的に確認します。
Accuracy
num_dat$prediction = predict(price_model_rpart) num_dat = mutate(num_dat, residuals = price-prediction) num_dat %>% ggplot(aes(price, prediction)) + geom_point() + geom_abline(colour = "blue") + labs(title = "Price vs Recursive Partitioning Model")
num_dat %>% ggplot(aes(prediction, residuals)) + geom_pointrange(aes(ymin = 0, ymax = residuals), size = .1) + geom_hline(yintercept = 0, linetype = 3)
だいぶ散らばりはみれますが、モデルと実際の値との乖離がもっとも高いtop5物件を表示してみます。
Top 5 お買い得!
num_dat %>% arrange(residuals) %>% head(5)
title area floor price admin maintenance dis deposit key renewal year prediction residuals 1 寺川ビル 15.0 4 4.35 5000 NA 3 0 5 1.1 2011 6.230303 -1.880303 2 アビタシオン鴨川 33.2 4 4.00 5000 NA 12 5 10 4.0 1991 5.577778 -1.577778 3 ヴィラ北白川 29.1 4 5.10 4000 NA 4 3 10 0.0 2015 6.230303 -1.130303 4 プチ・パレ 23.8 3 3.70 3500 NA 7 0 0 0.0 1994 4.793750 -1.093750 5 ミル・メゾンT2 25.2 2 5.30 5000 NA 7 0 0 0.0 2009 6.230303 -0.930303
この五つの物件がお買い得みたいです。 Worst 5は色々と怖いのでやめときます。