真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何用TensorFlow預(yù)測紐約市AirBnB租賃價格

這篇文章將為大家詳細(xì)講解有關(guān)如何用TensorFlow預(yù)測紐約市AirBnB租賃價格,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

創(chuàng)新互聯(lián)公司是一家專注于成都做網(wǎng)站、成都網(wǎng)站建設(shè)與策劃設(shè)計,舞鋼網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:舞鋼等地區(qū)。舞鋼做網(wǎng)站價格咨詢:18980820575

介紹

Airbnb是一個在線市場,允許人們將自己的房產(chǎn)或空余房間出租給客人。每預(yù)訂3位客人,收取12%和6%的傭金。

該公司自2009年成立以來,已從每年幫助2.1萬名客人找到住處,發(fā)展到每年幫助600萬人度假,目前在90個不同國家的34000個城市列出了驚人的80萬套房產(chǎn)。

我將使用Kaggle-newyorkcityairbnb開放數(shù)據(jù)集,嘗試用TensorFlow建立一個神經(jīng)網(wǎng)絡(luò)模型來進(jìn)行預(yù)測。

目標(biāo)是建立一個合適的機(jī)器學(xué)習(xí)模型,能夠預(yù)測未來住宿數(shù)據(jù)的價格。

我將展示我創(chuàng)建的Jupyter Notebook。你可以在GitHub上找到它:https://github.com/Timothy102/Tensorflow-for-Airbnb-Prices

加載數(shù)據(jù)

首先,讓我們看看如何加載數(shù)據(jù)。我們用wget直接從Kaggle網(wǎng)站上獲取數(shù)據(jù)。注意-o標(biāo)志表示文件名。

如何用TensorFlow預(yù)測紐約市AirBnB租賃價格

數(shù)據(jù)集應(yīng)該如下所示。共有48895行16列。

如何用TensorFlow預(yù)測紐約市AirBnB租賃價格

數(shù)據(jù)分析與預(yù)處理

Seaborn有一個非常簡潔的API,可以為各種數(shù)據(jù)繪制各種圖形。如果你對語法不太熟悉,可以查看本文:https://www.analyticsvidhya.com/blog/2019/09/comprehensive-data-visualization-guide-seaborn-python/

在pandas數(shù)據(jù)幀上使用corr之后,我們將其傳遞給一個heatmap函數(shù)。結(jié)果如下:

如何用TensorFlow預(yù)測紐約市AirBnB租賃價格

既然我們有經(jīng)度和經(jīng)度以及鄰里數(shù)據(jù),讓我們創(chuàng)建一個散點(diǎn)圖:

如何用TensorFlow預(yù)測紐約市AirBnB租賃價格

此外,我刪除了重復(fù)項和一些不必要的列,并填寫了“reviews_per_month”,因?yàn)樗刑嗟娜笔е?。?shù)據(jù)看起來像這樣。它有10列,沒有零值:

如何用TensorFlow預(yù)測紐約市AirBnB租賃價格

很好,對吧?

首先,電腦是做數(shù)字的。這就是為什么我們要把分類列轉(zhuǎn)換成一個one-hot編碼的向量。這是使用pandas的factorize方法完成的。你可以使用很多其他工具:

如何用TensorFlow預(yù)測紐約市AirBnB租賃價格

為了使損失函數(shù)保持在穩(wěn)定的范圍內(nèi),讓我們對一些數(shù)據(jù)進(jìn)行規(guī)范化,使平均值為0,標(biāo)準(zhǔn)差為1。

如何用TensorFlow預(yù)測紐約市AirBnB租賃價格

特征交叉

我們必須做出一個改變,這是一個必不可少的改變。為了使經(jīng)度和緯度與模型輸出相關(guān)聯(lián),我們必須創(chuàng)建一個特征交叉。下面的鏈接應(yīng)該為你提供足夠的背景知識,使你能夠正確地感受到特征交叉:

  • https://developers.google.com/machine-learning/crash-course/feature-crosses/video-lecture

  • https://www.kaggle.com/vikramtiwari/feature-crosses-tensorflow-mlcc

我們的目標(biāo)是介紹經(jīng)緯度交叉,這是本書中最古老的技巧之一。如果我們只將這兩列作為值放入模型,它將假定這些值與輸出逐步相關(guān)。

相反,我們將使用特征交叉,這意味著我們將把經(jīng)度*經(jīng)度地圖分割成一個網(wǎng)格。幸運(yùn)的是,TensorFlow使它變得容易。

我通過迭代(max-min)/100,從而生成一個分布均勻的幀網(wǎng)格。

我用的是100×100網(wǎng)格:

如何用TensorFlow預(yù)測紐約市AirBnB租賃價格

本質(zhì)上,我們在這里所做的,是定義一個bucked列和前面定義的邊界,并創(chuàng)建一個DenseFeatures層,然后將傳遞給Sequential API。

如果你不熟悉Tensorflow語法,請檢查文檔:https://www.tensorflow.org/api_docs/python/tf/feature_column/

如何用TensorFlow預(yù)測紐約市AirBnB租賃價格

現(xiàn)在,終于,我們?yōu)槟P陀?xùn)練做好了準(zhǔn)備。除了拆分?jǐn)?shù)據(jù)部分,也就是說。

如何用TensorFlow預(yù)測紐約市AirBnB租賃價格

顯然,我們必須創(chuàng)建兩個數(shù)據(jù)集,一個包含所有數(shù)據(jù),另一個包含預(yù)測得分。由于數(shù)據(jù)大小不匹配,這可能會給我們的模型帶來問題,所以我決定截斷太長的數(shù)據(jù)。

如何用TensorFlow預(yù)測紐約市AirBnB租賃價格

創(chuàng)建模型

最后,建立了Keras序列模型。

我們使用Adam優(yōu)化器、均方誤差損失和兩個指標(biāo)來編譯模型。

如何用TensorFlow預(yù)測紐約市AirBnB租賃價格

此外,我們使用兩個回調(diào):

  • 早停,這是不言而喻的

  • 降低高原學(xué)習(xí)率。

如何用TensorFlow預(yù)測紐約市AirBnB租賃價格

經(jīng)過50個epoch的訓(xùn)練,batch大小為64,我們的模型是相當(dāng)成功的。

如何用TensorFlow預(yù)測紐約市AirBnB租賃價格

我們使用紐約市的AirBnB數(shù)據(jù)建立了一個全連接的神經(jīng)網(wǎng)絡(luò)來預(yù)測未來的價格。Pandas和seaborn使得可視化和檢查數(shù)據(jù)變得非常容易。我們在模型中引入了經(jīng)緯度交叉作為特征的思想。并且多虧了Kaggle的開放數(shù)據(jù)集,我們得到了一個完全可操作的機(jī)器學(xué)習(xí)模型。

關(guān)于如何用TensorFlow預(yù)測紐約市AirBnB租賃價格就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


網(wǎng)頁名稱:如何用TensorFlow預(yù)測紐約市AirBnB租賃價格
文章轉(zhuǎn)載:http://weahome.cn/article/pcsesp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部