基於機器學習預測Airbnb的城市旅行成本
本文為翻譯發表,轉載需要註明來自公眾號EAWorld。
作者:Sean Kim
譯者:白小白
原題:一文了解Airbnb的旅行成本
原文:http://t.cn/E2FvawU
全文3538字,閱讀約需要9分鐘
目錄:
1、兩個城市的價格真的有差別嗎?
2、同一房東擁有多少Airbnb房產?
3、價格在地段位置分佈上是均勻的還是不均勻的?
4、我的模型能很好地預測價格嗎?
5、價格最重要的預測因素是什麼?
6、結語
本文基於西雅圖和波士頓的Airbnb資料集。
西雅圖
波士頓
這些照片會令你心動,既而開始一場說走就走的旅行麼?如果你的回答是肯定的,你就是像我一樣的“旅友”。旅行讓人短暫地忘卻現實,成為一個觀察者,從而敬畏生活,感激你所擁有的事業、朋友和家人。旅行讓你再次身心合一,那感覺實在太棒了!老實說,我最喜歡的記憶之一是在保加利亞的一段經歷:坐在長凳上,喝著啤酒,看著路過的人們。沒人管我做什麼,也沒人對此說三道四。
不知道你是否會為錢而煩惱,但對於作為學生的我來說,預算一直是阻礙我出行的一個顧慮。我已經使用Airbnb很長一段時間了,這個產品已經成為我的旅行夥伴,相比酒店或者其他的商業產品,我喜愛這個產品的原因在於我可以有更多的自由,更重要的是,我可以花更少的錢體會到家一樣的感覺。然而,通過對不同城市的觀察,我發現Airbnb的價格不同。這促使我進入資料科學的世界以一探究竟。
本文所涉及的資料集來自Kaggle的Airbnb資料,我選定了兩個城市,西雅圖和波士頓,每個資料集的資料分別是3818行和3585行。我的目標很明確:“瞭解Airbnb價格”。為此,我在腦海中構思了一些問題,並很想與大家分享我的答案。
一、兩個城市的價格真的有差別嗎?
答案是肯定的,價格有區別的。讓我們看看我是如何得到這個答案的。下圖的價格單位是1000美元,由於存在一些價格奇高的離散資料點,導致很難區分這兩個城市之間的區別。
圖1:西雅圖和波士頓的價格分佈
對價格進行對數轉換後,我們可以更清楚地看出區別。
圖2:西雅圖和波士頓的對數價格分佈
我們觀察到波士頓Airbnb的價格普遍較高,而且分佈更加離散。西雅圖的對數價格分佈更加對稱,而波士頓的對數價格分佈似乎略有向左的偏移,這意味著波士頓的租金價格形成了較高的水平。技術指標上,西雅圖和波士頓的對數價格均值分別為4.68和4.94,標準差分別為0.57和0.65。
根據Tulia的相關指標,這個價格水平處於每月租金的中位數。波士頓平均每月租金中值約為2,900美元,西雅圖則為2,700美元左右。因此,這一結果不應令人感到意外。然而,有趣的是兩個城市的房產銷售中值呈現相反的趨勢:西雅圖的房地產平均售價為690,000美元,波士頓為610,000美元。採用銷售價格與年租金比率的概念,波士頓為17.53,西雅圖為21.30。一般的經驗法則是,如果比例是16比20,那麼買一套房子是有風險的,如果是21以上的話,租房要比買好得多。因此,波士頓似乎是一個更有希望買房子的地方。
二、同一房東擁有多少Airbnb房產?
因為我確認了價格的差別,所以我想找出更多的原因。我首先感興趣的是幾個“超級”房東是否左右了市場價格。是不是這樣呢?
圖3:房東擁有的平均房產數量
波士頓的房東平均擁有更多的Airbnb房產。這可能意味著Airbnb房產的價格由更少數量的房東決定。但是我們還不能用這個來說明任何事情,所以讓我們深入挖掘一下。
圖4:西雅圖房產數量的分佈
圖5:波士頓房產數量的分佈
從個人房產數量分佈來看,我們可以確認波士頓有更多的“超級”房東。因此,我們可以假設那些“超級”房東在波士頓給Airbnb設定了更高的價格。但我們不能確定他們是否真的這麼做了。有了這個預測模型,我就可以知道這個預測工具處於什麼水平。
三、價格在地段位置分佈上
是均勻的還是不均勻的?
我的下一個問題是,地段位置是否會影響Airbnb在兩個城市的價格,因為繁忙的位置有更高的入住價格似乎是很自然的事。我使用郵政編碼來代表位置資訊。
圖6:按郵政編碼分列的西雅圖位置分佈
圖7:按郵政編碼分列的波士頓位置分佈
就分散程度而言,兩個城市的區位分佈在標準差上沒有很大的差異。然而,我們確實注意到一個共性,即兩地的房產分佈並不均勻。當我們將分佈與來自Trulia的西雅圖及波士頓租金地圖進行比較時,房產的高密度的地點與高租金地區相對應。因此,位置對價格分配有更大的影響。
圖8.西雅圖和波士頓租金熱點圖
畢竟,大多數Airbnb酒店在城市的熱點地區人滿為患。
四、我的模型能很好地預測價格嗎?
儘管沒有什麼是完美的,至少在資料科學世界是這樣的,然而,我仍舊對我的預測模型的表現感到非常高興。
表1:真實價格和預測價格
我採用了臭名昭著的Extreme Gradient Boosting(即XGBoost)作為框架,輔以全面的網格搜尋交叉驗證(grid search cross validation)。每次迭代時,用5倍交叉驗證對模型進行評價,找出效能最佳的引數。
與交叉驗證的RMSE(均方根誤差)相比,測試RMSE減少了,結果顯示每1,000美元約為78.0201,這是很令人樂觀的資料,意味著這個模型在實際情況下比在測試中表現得更好。在表1中,預測價格與實際價格相差不遠。(當然,這一模型並不完美,仍舊需要改進)
顧名思義,XGBoost在整合演算法(Ensemble)技術中使用梯度增強(Gradient Boosting)方法。畢竟有一些人還糾結在術語的含義上,以下是我簡單的從不那麼技術化的角度,闡述一下我如何理解增強,整合演算法,梯度增強。
Ensemble(整合演算法)是多個學習演算法的集合。整合演算法產生的直接動因是因為很難信任單獨某一種決策樹模型,因為它雖然能很好地預測特定的問題,但對其他問題的預測卻很差。因此,集合測試將多個假設模型(弱學習分類器)結合起來,形成一個更好、更強的學習分類器,給出更穩定的預測因子。就像是政策並不由某個國會議員決定,而是由435名國會議員為了一個更好的結果而共同決定。
Boosting(增強)是一種基於整合演算法原理產生的衍生技術。它結合了一組弱學習分類器,提高了預測精度。這其實和我們的經歷很相似,當您在團隊專案中工作時,您需要檢查哪些成員在每一步中都落後於團隊的整體進度。對於這些與團隊走向不一致的成員,需要額外的照顧和推動。同樣,在增強模型中,我們需要發現每一步驟預測錯誤的資料點,並這些點上增加權重,從而修正預測。
Gradient Boosting(梯度增強)是增強技術的一部分。梯度增強的目的是最大限度地減少錯誤預測值造成的損失。利用梯度下降方法並基於學習率更新預測,我們可以找到損失最小值。就像沿著最短的小徑下山一樣。梯度增強模型希望找到一種模式,使損失最小,因為它相信較少的模型會表現更好。
XGBoost是當今最流行的機器學習演算法之一,它的速度和效能,可並行的核心演算法,在許多情況下優於其他演算法的方法,以及各種各樣的調整引數,都幫助它在資料極客中迅速的普及。
五、價格最重要的預測因素是什麼?
圖9 影響Airbnb價格的十個重要因素
現在,我們獲得了影響價格的十個重要因素的列表,這些要素如下:
zip_has:郵政編碼位置中Airbnb房產的數量。表徵該位置的繁華程度。
bathrooms:浴室數目。
host_days:房東託管Airbnb房產的天數。
bedrooms:臥室的數量。
minimum_nights:你需要預定的最少的入住天數。
extra_people:超出房東規定數量的客人產生的額外費用。
beds:床位數。
guests_included:Airbnb房產可以容納的客人數量。
availability_365:一年中可提供服務的天數。
number_of_reviews:評論的數量。
上面的清單在預測價格方面起著重要的作用,這似乎是很自然的。首先,如果該地方是一個繁忙的地方,如旅遊景點,應該有更多的住宿需求,從而提高了價格。 浴室、臥室和床的數量反映了舒適程度。沒有人願意在浴室前排隊或睡在沙發上。如果您已經託管了很長一段時間的Airbnb物業,你就瞭解市場是如何波動的。從資料科學的角度來看,你更有預見性,因為你比一個新房東更有可能引領市場趨勢。最少預訂天數,額外客人費用,和最大客人人數是由主人設定的規則,並被直接考慮到價格計算中。因此,這三個因素的排名很高,這是令人信服的。最後,一年中可用的天數和評論數量反映了Airbnb房產的受歡迎程度。當然,高需求會導致更高的價格。
我們沒有看到‘host_has’(一個房東擁有的房產的數量)在列表中(實際上在前20位列表中),說明在某些情況下,我們的直覺不是最好的工具,世界需要資料科學家!(笑)
六、結語
在這個專案中,我們深入研究了西雅圖和波士頓的Airbnb資料集,並發現了一些有趣的模式:
波士頓比西雅圖要貴得多。這一現象符合目前兩個城市每月租金中位數的趨勢:波士頓租房價格更高。
波士頓的房東平均擁有更多的Airbnb房產,還有更多的“超級”房東。因此,我們可以暗示一些超級房東可以影響城市的平均租賃價格。
高密度的地段與西雅圖和波士頓的高租金地段相對應。因此,我們可以假設租金、地段位置和Airbnb價格密切相關。
從重要的特性中,我們知道受歡迎程度、地理位置、舒適程度和房產規則對Airbnb價格的影響較大。
我們開始的時候對一些問題的答案尚不清晰,例如兩個城市的價格是否存在差異,價格如何根據地段位置分佈,以及最重要的預測因素是什麼。但願,這個專案回答了這些問題,併為您提供了影響Airbnb價格因素的洞察力。我相信這個預測模型可以為客戶提供關於旅行預算和規劃的資訊,並能為客戶的房產定價提供參考。
儘管如此,還是有很大的改進空間。我歡迎任何反饋意見和建議。說到底,希望形成資料科學家之間的共享!在做這個專案的過程中,我更有衝動想去旅行了,我想我會去的。無論你在哪裡旅行,無論是環遊真實世界還是資料世界,祝你旅途順利。一路順風。
與作者聯絡:
你可以用LinkedIn(http://t.cn/E2FGNmA)與作者聯絡。
關於EAWorld:微服務,DevOps,資料治理,移動架構原創技術分享,長按二維碼關注
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31562043/viewspace-2221748/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 機器學習入門實戰——基於knn的airbnb房租預測機器學習KNNAI
- 在 Airbnb 使用機器學習預測房源的價格AI機器學習
- 為什麼說基於機器學習的AI預測更智慧?機器學習AI
- 機器學習 | 基於機器學習的推薦系統客戶購買可能性預測分析機器學習
- 機器學習演算法(一): 基於邏輯迴歸的分類預測機器學習演算法邏輯迴歸
- 學習筆記——機器學習演算法(一): 基於邏輯迴歸的分類預測筆記機器學習演算法邏輯迴歸
- AI乾貨(一):為什麼說基於機器學習的AI預測更智慧?AI機器學習
- 機器學習之分類:預測偏差機器學習
- 【機器學習基礎】關於深度學習的Tips機器學習深度學習
- 基於 KubeVela 的機器學習實踐機器學習
- 【機器學習】線性迴歸預測機器學習
- 基於C#的機器學習--微基準測試和啟用功能C#機器學習
- 機器學習演算法(五):基於企鵝資料集的決策樹分類預測機器學習演算法
- 機器學習演算法(八):基於BP神經網路的乳腺癌的分類預測機器學習演算法神經網路
- 基於深度學習的建築能耗預測03——能耗建模深度學習
- 基於XGBoost模型的幸福度預測——阿里天池學習賽模型阿里
- 機器學習之迴歸分析--預測值機器學習
- 亞馬遜雲科技推出基於機器學習的工業裝置預測性維護服務亞馬遜機器學習
- 機器學習之 基於xgboost的特徵篩選機器學習特徵
- 機器學習股票價格預測從爬蟲到預測-預測與調參機器學習爬蟲
- LEAP Hand:用於機器人學習的低成本、高效和擬人化的機械手機器人
- 器學習演算法(六)基於天氣資料集的XGBoost分類預測演算法
- 使用機器學習預測房價(附連結)機器學習
- 機器學習專案---預測心臟病(二)機器學習
- 機器學習專案---預測心臟病(一)機器學習
- 基於機器學習的經濟預測模型演算法平臺的設計與實現 DAY7機器學習模型演算法
- AutoTiKV:基於機器學習的資料庫調優機器學習資料庫
- InterPSS :基於 TensorFlow 的電力系統分析機器學習機器學習
- InterPSS :基於TensorFlow的電力系統分析機器學習機器學習
- 基於Sklearn機器學習程式碼實戰機器學習
- 精確預測相分離蛋白質,同濟&中國科學院機器學習預測器PSPire機器學習
- 利用深度學習和機器學習預測股票市場(附程式碼)深度學習機器學習
- 機器學習股票價格預測初級實戰機器學習
- Python機器學習 預測分析核心演算法1Python機器學習演算法
- 基於C#的機器學習--深層信念網路C#機器學習
- 基於化學環境的多相催化吸附機器學習框架機器學習框架
- 基於 Flutter 的CityPickers 城市選擇器Flutter
- 機器學習--有監督學習--分類演算法(預測分類)機器學習演算法