日本在线看黄a美女久草|日本动漫亚洲在线一区|日韩人妻无码免费视频|A√有码中文字幕|日韩一级片视频热久久久|一区二区三区四区精品无码在线|亚洲AV成人无码一二三app|亚洲综合图片绯色|91极品人妻在线网站|国产成人精品一区二三区四区五区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能開發(fā)者 正文
發(fā)私信給AI研習(xí)社
發(fā)送

0

如何利用機(jī)器學(xué)習(xí)預(yù)測房價(jià)?

本文作者: AI研習(xí)社 編輯:賈智龍 2017-09-15 14:34
導(dǎo)語:本文作者利用自己過去三個(gè)月里所學(xué)到的東西,來預(yù)測所在城市的房價(jià)。所用到的技術(shù)有網(wǎng)絡(luò)爬取技術(shù)、文本自然語言處理,圖像上的深度學(xué)習(xí)模型以及梯度增強(qiáng)技術(shù)等。

雷鋒網(wǎng)按:文章原標(biāo)題《Predicting Portland Home Prices》,作者:Lauren Shareshian,譯者:夏天,審校:主題曲。本文原載于知乎專欄我是程序員。

對(duì)于我在梅蒂斯的最后一個(gè)項(xiàng)目,我希望能包含過去三個(gè)月里所學(xué)到的東西,而預(yù)測波特蘭房價(jià)這個(gè)題目正符合我的要求,因?yàn)槲夷軌驅(qū)⒕W(wǎng)絡(luò)爬取技術(shù)、文本自然語言處理,圖像上的深度學(xué)習(xí)模型以及梯度增強(qiáng)技術(shù)進(jìn)行整合來實(shí)現(xiàn)這個(gè)項(xiàng)目。

下面你可以看到我抓取到的 2016 年 7 月至 2017 年 7 月這段時(shí)間內(nèi)波特蘭市 8300 個(gè)獨(dú)戶住宅的銷售數(shù)據(jù)。

如何利用機(jī)器學(xué)習(xí)預(yù)測房價(jià)?

顯然,街區(qū)在這其中起了非常重要的作用。西山(紅色)是鎮(zhèn)上最昂貴的地區(qū)之一,而東波特蘭則便宜很多。平均售價(jià)為 44.2 萬美元。

我希望能夠在比街區(qū)更細(xì)粒度的水平上預(yù)測價(jià)格。例如,假設(shè)以下房子是彼此毗鄰的。

如何利用機(jī)器學(xué)習(xí)預(yù)測房價(jià)?

如何利用機(jī)器學(xué)習(xí)預(yù)測房價(jià)?

這些房子面積相同,在同一年份建成,并位于同一條街上。但是,一個(gè)明顯能讓人產(chǎn)生購買的欲望,而另一個(gè)則沒有。那么 Zillow 或 Redfin(美國的兩家大型房地產(chǎn)網(wǎng)站)或其他公司能夠僅僅依靠一些房屋的文字?jǐn)?shù)據(jù)來預(yù)測它們的價(jià)格呢?他們不能。這就是為什么我要把對(duì)房屋門口照片的分析作為其中一個(gè)特征納入預(yù)測模型的原因。

當(dāng)務(wù)之急就是要獲取到所有的數(shù)據(jù)。這比原本預(yù)想的要困難的多。首先,我使用波特蘭地圖的官方 API 來爬取波特蘭獨(dú)戶住宅的銷售數(shù)據(jù)。不幸的是,API 存在調(diào)用限制(每 10 分鐘約 150 次調(diào)用),所以我不得不在 AWS 服務(wù)器上長時(shí)間地運(yùn)行程序來抓取所有的詳細(xì)數(shù)據(jù)。我使用 Zillow API 抓取了每個(gè)家庭的元數(shù)據(jù)和房地產(chǎn)商對(duì)房屋的描述。但是,抓取的速度也很慢,因?yàn)?Zillow 只允許你每天調(diào)用 API 1000 次。(我讓丈夫、母親和幾個(gè)朋友來幫我獲取更多的 API 密鑰)

最后,數(shù)據(jù)收集過程中最困難的部分是獲取圖像。這是因?yàn)?Zillow 有獲取圖片的 API,但 Redfin 沒有,但 Redfin 會(huì)在房子出售后仍把圖片留那,而 Zillow 不會(huì)。為了獲取到 Redfin 網(wǎng)站上的圖片,我編寫了一個(gè) Selenium 腳本,在 Google Images 上通過在搜索條目后增加 “Redfin” 一詞來搜索房屋地址,然后抓取 Google 列出的第一張圖片的 URL。

不幸的是,雖然我有了圖像的 URL,實(shí)際要直接將它們下載下來并不簡單。這是因?yàn)?Redfin 不允許你使用標(biāo)準(zhǔn)的 Python 包,例如發(fā)送請(qǐng)求獲取數(shù)據(jù),也不允許你使用簡單的 curl 命令。幸運(yùn)的是,在與別人討論后,我們提出了這樣一個(gè)想法:在 curl 命令的末尾加上 “User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6)……”,以此來將你的終端請(qǐng)求偽裝成瀏覽器請(qǐng)求。這終于成功了,最終我抓取到了 8300 個(gè)房屋的數(shù)據(jù)和圖片!

現(xiàn)在數(shù)據(jù)有了,我準(zhǔn)備要開始實(shí)現(xiàn)模型了。如下圖所示:

如何利用機(jī)器學(xué)習(xí)預(yù)測房價(jià)?

讓我們來詳細(xì)介紹一下這三種輸入數(shù)據(jù)類型。 Zillow 元數(shù)據(jù)包含你原本預(yù)期的描述性文字:平方英尺、街區(qū)、建造年份等等。當(dāng)我按 p 值對(duì)每個(gè)特征進(jìn)行排序時(shí),出現(xiàn)了一些驚喜的發(fā)現(xiàn)。我一直不知道格魯吉亞建筑是什么樣子的,直到我查了一下之后。

如何利用機(jī)器學(xué)習(xí)預(yù)測房價(jià)?

我準(zhǔn)備采用自然語言處理技術(shù)來分析地產(chǎn)商的描述性文字。我對(duì)地產(chǎn)商的描述性文字做了兩件事情:為每一個(gè)描述創(chuàng)建一個(gè)字矢量矩陣,這樣就可以將其與 Zillow 元數(shù)據(jù)合并到一個(gè)特征矩陣中,還有,用 NLTK 情緒包來計(jì)算情緒評(píng)分:

如何利用機(jī)器學(xué)習(xí)預(yù)測房價(jià)?

我想,房地產(chǎn)經(jīng)紀(jì)商的平均積極分?jǐn)?shù)很高(平均分?jǐn)?shù)為 0.6,范圍在 - 1 到 + 1 之間)并不讓人覺得奇怪。因此,把情緒評(píng)分作為特征并沒有改善模型。但是,在數(shù)據(jù)集中挖取最積極和最負(fù)面的分?jǐn)?shù)非常有趣:

如何利用機(jī)器學(xué)習(xí)預(yù)測房價(jià)?

最后,為了將圖片合并到模型中,我采用了 VGG16 深度神經(jīng)網(wǎng)絡(luò)對(duì)圖像進(jìn)行處理,以便提取出它們的特征(8300 x 25000 的圖像特征矩陣)。運(yùn)行該模型的計(jì)算量相當(dāng)?shù)么?,所以我需要?AWS 上安裝一個(gè) g2.8xlarge 的 GPU ubuntu 實(shí)例。

如何利用機(jī)器學(xué)習(xí)預(yù)測房價(jià)?

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

如何利用機(jī)器學(xué)習(xí)預(yù)測房價(jià)?

同樣的,圖片模型在預(yù)測廉價(jià)房屋方面也表現(xiàn)得很好:

如何利用機(jī)器學(xué)習(xí)預(yù)測房價(jià)?

我的模型在處理什么類型的圖片時(shí)會(huì)存在問題呢?包含綠化的房屋!我的模型預(yù)測下面這個(gè)房屋價(jià)值 250 萬,但實(shí)際上,圖中的很多綠化都是免費(fèi)贈(zèng)送的!

如何利用機(jī)器學(xué)習(xí)預(yù)測房價(jià)?

好的,現(xiàn)在我確信我的圖像模型已經(jīng)挺不錯(cuò)了。我準(zhǔn)備將 Zillow 元數(shù)據(jù)、地產(chǎn)商描述字矩陣和圖像特征矩陣組合并到一個(gè)矩陣中,然后通過使用梯度提升算法來預(yù)測房價(jià)。作為一個(gè)基準(zhǔn)預(yù)測,回想一下,數(shù)據(jù)集的平均房價(jià)是 44.2 萬元。如果我預(yù)測每個(gè)家庭都值得這么多,那么平均而言,每個(gè)房子的價(jià)格就會(huì)下降 16.1 萬元。而將圖像合并到模型中能夠立即將該錯(cuò)誤降低 2 萬元。把地產(chǎn)商描述添加到模型中則會(huì)將錯(cuò)誤再降低 1 萬元。最后,將 Zillow 元數(shù)據(jù)添加進(jìn)來,則將平均絕對(duì)誤差降低到大約 7.1 萬元。

如何利用機(jī)器學(xué)習(xí)預(yù)測房價(jià)?

也許你想知道如果在預(yù)測房價(jià)上只使用 Zillow 元數(shù)據(jù)的話效果會(huì)怎么樣?平均來說,它給出了一個(gè) 7.0 萬元的誤差。在添加了房地產(chǎn)商的描述后略微下降到 6.9 萬元,但后來添加了圖片后卻增加到 7.1 萬元。換句話說,現(xiàn)在的圖片會(huì)輕微地降低模型的質(zhì)量,而不是提升質(zhì)量。

如何利用機(jī)器學(xué)習(xí)預(yù)測房價(jià)?

但是,請(qǐng)注意,圖像特征矩陣具有 25000 列,而我只使用了 8300 張照片。我根本沒有足夠的數(shù)據(jù)來支撐這種模型。如果我在網(wǎng)上爬一個(gè)月并能獲得更多的圖片的話,我相信將圖片整合到模型中將有助于提升預(yù)測的準(zhǔn)確率。

總而言之,在完成這個(gè)項(xiàng)目的過程中,我學(xué)到了很多東西,也克服了幾個(gè)重要的困難。我遇到的最大的困難是如何抓取 Redfin 圖像以及如何使用 VGG16 模型。我發(fā)現(xiàn) Keras 的文檔仍然很少,所以在使用它的時(shí)候需要試錯(cuò)很多次。我為自己能完成這個(gè)項(xiàng)目而感到自豪,現(xiàn)在我需要做的只是獲取更多的數(shù)據(jù)!你可以在這里找到 GitHub 項(xiàng)目。

文章為簡譯,更為詳細(xì)的內(nèi)容,請(qǐng)查看原文

雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

如何利用機(jī)器學(xué)習(xí)預(yù)測房價(jià)?

分享:
相關(guān)文章

編輯

聚焦數(shù)據(jù)科學(xué),連接 AI 開發(fā)者。更多精彩內(nèi)容,請(qǐng)?jiān)L問:yanxishe.com
當(dāng)月熱門文章
最新文章
請(qǐng)?zhí)顚懮暾?qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說