日历

« 2017-09-22  
     12
3456789
10111213141516
17181920212223
24252627282930

栏目分类

统计信息

  • 访问数:15516
  • 博客数:59
  • 建立时间:2015-05-28
  • 更新时间:2017-09-22

最新评论

我的收藏

我的好友

最新留言

RSS订阅

  • RSS 2.0
  • 版权声明

天气: 晴朗 心情: 高兴


 
下面你可以看到我抓取到的2016年7月至2017年7月這段時間內波特蘭市8300個獨戶住宅的銷售數據。

顯然,街區在這其中起了非常重要的作用。西山(紅色)是鎮上最昂貴的地區之一,而東波特蘭則便宜很多。平均售價為44.2萬美元。
我希望能夠在比街區更細粒度的水平上預測價格。例如,假設以下房子是彼此毗鄰的。


這些房子面積相同,在同一年份建成,並位於同一條街上。但是,一個明顯能讓人產生購買的欲望,而另一個則沒有。那麽Zillow或Redfin(美國的兩家大型房地產網站)或其他公司能夠僅僅依靠一些房屋的文字數據來預測它們的價格呢?他們不能。這就是為什麽我要把對房屋門口照片的分析作為其中一個特征納入預測模型的原因。DPM價錢並沒有大家想像中的那麼貴,平民化的價格即可享受DPM點對點高科技技術產品,讓DPM床褥變身高性價比的貴族床品。專業的才是最好的,這點在睡眠用品選擇方面尤為重要。
當務之急就是要獲取到所有的數據。這比原本預想的要困難的多。首先,我使用波特蘭地圖的官方API來爬取波特蘭獨戶住宅的銷售數據。不幸的是,API存在調用限製(每10分鐘約150次調用),所以我不得不在AWS服務器上長時間地運行程序來抓取所有的詳細數據。我使用Zillow API抓取了每個家庭的元數據和房地產商對房屋的描述。但是,抓取的速度也很慢,因為Zillow只允許你每天調用API 1000次。(我讓丈夫、母親和幾個朋友來幫我獲取更多的API密鑰)
最後,數據收集過程中最困難的部分是獲取圖像。這是因為Zillow有獲取圖片的API,但Redfin沒有,但Redfin會在房子出售後仍把圖片留那,而Zillow不會。為了獲取到Redfin網站上的圖片,我編寫了一個Selenium腳本,在Google Images上通過在搜索條目後增加“Redfin”一詞來搜索房屋地址,然後抓取Google列出的第一張圖片的URL。為什麼說DPM床褥可以針對不同睡姿的人們進行專業化設計呢?原因很簡單,它在承托能力上進心了匹配,分散了身體的壓力,提供了最佳的承托力,貼心打造出最佳的睡眠服務。超過6000個感應點和針對性很強,你值得信賴。
不幸的是,雖然我有了圖像的URL,實際要直接將它們下載下來並不簡單。這是因為Redfin不允許你使用標準的Python包,例如發送請求獲取數據,也不允許你使用簡單的curl命令。幸運的是,在與別人討論後,我們提出了這樣一個想法:在curl命令的末尾加上“User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6)……”,以此來將你的終端請求偽裝成瀏覽器請求。這終於成功了,最終我抓取到了8300個房屋的數據和圖片!
現在數據有了,我準備要開始實現模型了。如下圖所示:

讓我們來詳細介紹一下這三種輸入數據類型。 Zillow元數據包含你原本預期的描述性文字:平方英尺、街區、建造年份等等。當我按p值對每個特征進行排序時,出現了一些驚喜的發現。我一直不知道格魯吉亞建築是什麽樣子的,直到我查了一下之後。

我準備采用自然語言處理技術來分析地產商的描述性文字。我對地產商的描述性文字做了兩件事情:為每一個描述創建一個字矢量矩陣,這樣就可以將其與Zillow元數據合並到一個特征矩陣中,還有,用NLTK情緒包來計算情緒評分:

我想,房地產經紀商的平均積極分數很高(平均分數為0.6,範圍在-1到+1之間)並不讓人覺得奇怪。因此,把情緒評分作為特征並沒有改善模型。但是,在數據集中挖取最積極和最負面的分數非常有趣:

最後,為了將圖片合並到模型中,我采用了VGG16深度神經網絡對圖像進行處理,以便提取出它們的特征(8300 x 25000的圖像特征矩陣)。運行該模型的計算量相當得大,所以我需要在AWS上安裝一個g2.8xlarge的GPU ubuntu實例。

圖片模型在預測房價方面的效果如何呢?不錯!這些是測試集中預測價格最高的三間屋子,顯然,它們真的不錯:

同樣的,圖片模型在預測廉價房屋方面也表現得很好:

我的模型在處理什麽類型的圖片時會存在問題呢?包含綠化的房屋!我的模型預測下面這個房屋價值250萬,但實際上,圖中的很多綠化都是免費贈送的!

好的,現在我確信我的圖像模型已經挺不錯了。我準備將Zillow元數據、地產商描述字矩陣和圖像特征矩陣組合並到一個矩陣中,然後通過使用梯度提升算法來預測房價。作為一個基準預測,回想一下,數據集的平均房價是44.2萬元。如果我預測每個家庭都值得這麽多,那麽平均而言,每個房子的價格就會下降16.1萬元。而將圖像合並到模型中能夠立即將該錯誤降低2萬元。把地產商描述添加到模型中則會將錯誤再降低1萬元。最後,將Zillow元數據添加進來,則將平均絕對誤差降低到大約7.1萬元。

也許你想知道如果在預測房價上只使用Zillow元數據的話效果會怎麽樣?平均來說,它給出了一個7.0萬元的誤差。在添加了房地產商的描述後略微下降到6.9萬元,但後來添加了圖片後卻增加到7.1萬元。換句話說,現在的圖片會輕微地降低模型的質量,而不是提升質量。

但是,請註意,圖像特征矩陣具有25000列,而我只使用了8300張照片。我根本沒有足夠的數據來支撐這種模型。如果我在網上爬一個月並能獲得更多的圖片的話,我相信將圖片整合到模型中將有助於提升預測的準確率。實行了數碼營銷并不就等於實行了數碼轉型,在環球數碼大趨勢下,數碼轉型不再只是預算寬裕大企業的專利,小型、蚊型企業亦非常合適。
原文地址:http://www.sohu.com/a/191809991_642762
加入收藏 编辑 审核

TAG:

我来说两句

OPEN

Powered by X-Space 1.2 © 2001-2006 Comsenz Technology Ltd