房價預測可視化項目

  • 2019 年 10 月 28 日
  • 筆記

1.需求描述

對於數據挖掘工程師來說,有時候需要抓取地理位置資訊,比如統計房子周邊基礎設施資訊,比如醫院、公交車站、寫字樓、地鐵站、商場等,一般的爬蟲可以採用python腳本爬取,有很多成型的框架如scrapy,但是想要爬百度地圖就必須遵循它的JavaScript Api,那麼肯定需要自己寫JavaScript腳本與百度API進行交互,問題是:這種交互下來的數據如何儲存(直接寫進文本or使用sql資料庫?),如何自動化這種交互方式。

因此,本文的目標是用一個rails應用配合js腳本來實現這種自動化抓取和儲存,思路是js腳本負責與百度地圖Api交互,rails伺服器端負責儲存抓取的數據,js和rails伺服器用ajax方式傳遞數據. 前提是rails伺服器里已經有相應的房屋數據,如房屋的街道地址,小區名字等. 接下來需要做的就是為周邊資訊數據建表以及相應的關聯表(因為它們為多對多關係)。

如果你是面向地理位置的數據挖掘工程師,你可以不用編寫與百度API交互的程式碼,直接運行這個應用後導入自己的房屋數據,應用會自動與百度API爬取周圍的基礎設施,獲得的數據可用來作為學術研究和分析等

2.流程詳解

js程式碼在用戶瀏覽器中執行,因此爬取的主要部分邏輯都需要寫在js腳本里,而rails伺服器端需要完成的是獲得當前需要抓取的房屋數據以及儲存js抓取的數據。下圖為對id=1的房屋周邊數據抓取的分解過程:

完整程式碼下載地址:

關注微信公眾號 datayx 然後回復 房價 即可獲取。

3. 數據挖掘

1.1 在房價網站上利用爬蟲爬下當前所有房子的價格和基本資訊(房型、面積、樓層、建造時間等)1.2 利用百度API對每套房產的周邊資訊進行挖掘(公交車站、地鐵、寫字樓、醫院、學校、商場等)1.3 將所有資訊儲存在關係型數據里,構建數據倉庫(Data Warehouse)

4. 數據可視化

3.1 導入百度的可視化工具庫(Echarts)3.2 利用訓練的模型對指定房屋價格進行評估和預測,並以科學地方法將結果進行可視化 展示