旗下產(chǎn)業(yè): A產(chǎn)業(yè)/?A實習/?A計劃
全國統(tǒng)一咨詢熱線:010-5367 2995
首頁 > 熱門文章 > 大數(shù)據(jù)分析 > 用Python搭建機器學習模型預測房租價格

用Python搭建機器學習模型預測房租價格

時間:2020-06-17來源:5wd995.cn點擊量:作者:Sissi
時間:2020-06-17點擊量:作者:Sissi



  毫無疑問,機器學習是當前大數(shù)據(jù)分析中最熱門的話題。這也是一些最令人興奮的技術領域的基本概念,例如自動駕駛汽車和預測分析。百度上的機器學習搜索在2019年4月創(chuàng)歷史新高,自此以來興趣一直沒有下降。
 

  但是實際上學習機器學習可能很困難。您要么使用行為類似于“黑匣子”的預構(gòu)建包,要么在其中傳遞數(shù)據(jù),另一端則產(chǎn)生魔力,或者您必須處理高級數(shù)學和線性代數(shù)。每種方法都使學習機器學習充滿挑戰(zhàn)和威脅。
 

  用Python搭建機器學習模型預測房租價格旨在向您介紹機器學習的基本概念。在繼續(xù)學習時,您將從頭開始構(gòu)建第一個模型以進行預測,同時準確地了解模型的工作原理。
 

  (用Python搭建機器學習模型預測房租價格基于我們的機器學習基礎知識課程,它是我們的大數(shù)據(jù)分析學習路徑的一部分。該課程涉及更多細節(jié),使您可以交互地編寫代碼,以便邊做邊學。對掌握機器學習非常感興趣,我們建議您選擇該課程以及我們的大數(shù)據(jù)分析家課程中的其他機器學習課程。)
 

  什么是機器學習?
 

  簡而言之,機器學習是構(gòu)建系統(tǒng)(稱為模型)的實踐,可以使用數(shù)據(jù)對其進行訓練,以找到可用于對新數(shù)據(jù)進行預測的模式。
 

  與許多其他編程不同,機器學習模型不是基于規(guī)則的系統(tǒng),在該系統(tǒng)中,使用一系列“如果/那么”語句來確定結(jié)果(例如,“如果學生錯過了超過50%的課程,則自動使他們失敗) ')。
 

  取而代之的是,機器學習模型檢查具有定義結(jié)果的數(shù)據(jù)集中數(shù)據(jù)點之間的統(tǒng)計關系,然后將所學到的關于這些關系的知識應用于分析和預測新數(shù)據(jù)集的結(jié)果。
 

  機器學習的工作原理
 

  為了更好地理解機器學習的基礎,我們來看一個示例。假設我們要出售房屋,并且想確定合適的掛牌價格。我們可能會做的事情,以及房地產(chǎn)經(jīng)紀人實際上會做的事情,就是看一看我們地區(qū)已經(jīng)出售的可比房屋。用機器學習的術語來說,我們看的每座房子都稱為觀察。
 

  對于每座房屋,我們將考慮以下因素,例如房屋的大小,房屋的臥室和浴室的數(shù)量,距雜貨店等便利設施的距離等。在機器學習術語中,每個屬性都稱為特點。
 

  一旦找到了許多類似的房屋,我們便可以查看它們的售價,對這些價格進行平均,然后得出關于我們房屋價值的相當合理的預測。
 

  在此示例中,我們建立的“模型”是根據(jù)我們所在地區(qū)其他房屋的數(shù)據(jù)(觀測值)進行訓練的,然后用于對房屋價值進行預測。我們預測的值,即價格,被稱為目標變量。
 

  當然,這個例子并不是真正的“機器學習”,因為我們根據(jù)自己房屋的特點挑選了“觀測”房屋進行研究。試圖大規(guī)模地進行這種事情(例如,基于龐大的房地產(chǎn)數(shù)據(jù)集預測城市中任何房屋的價格)對人類來說將是非常困難的。觀察和特征越多,用手進行這樣的分析就越困難,并且越容易錯過數(shù)據(jù)中的重要但非顯而易見的模式。
 

  這就是機器學習是在一個真正的機器學習模型可以做的非常相似于我們的小房子預測模型的東西很多規(guī)模較大的:
 

  1)檢查過去房屋銷售的大數(shù)據(jù)集(觀察)

  2)查找房屋的特征(特征)與其價格(目標變量)之間的模式和統(tǒng)計關系,包括查看數(shù)據(jù)的人可能看不到的模式

  3)使用這些統(tǒng)計關系和模式來預測任何新房的價格,我們以此為基礎提供數(shù)據(jù)。
 

  我們將在用Python搭建機器學習模型預測房租價格中構(gòu)建的模型與上面概述的模型相似。我們將使用Python構(gòu)建一個簡單的模型,以提出租房平臺公寓的租金價格建議。
 

  (本文假定您熟悉Python的pandas庫-如果您需要學習pandas,我們建議您將pandas教程分為兩部分,或者將Python和Pandas互動式學習。)
 

  預測租房平臺的租金價格
 

  對于沒有經(jīng)驗的人,租房平臺是一個短期房屋和公寓出租的互聯(lián)網(wǎng)市場。例如,它使您可以在外出時將房屋出租一周,或?qū)溆门P室出租給旅行者。該公司本身已從2008年成立時迅速成長為估值接近400億美元的公司,目前的市值超過全球任何一家連鎖酒店。
 

  租房平臺房東面臨的挑戰(zhàn)之一是確定最佳的每晚租金價格。在許多地區(qū),潛在的租戶都會看到很多房源,并且可以按價格,臥室數(shù)量,房間類型等條件進行過濾。由于租房平臺是一個市場,房東每晚收取的費用與市場的動態(tài)密切相關。這是租房平臺上搜索體驗的屏幕截圖:
 

  租房平臺搜索結(jié)果
 

  假設我們想在租房平臺上租一個房間。作為房東,如果我們試圖以高于市場價格的價格收費,那么租房者將選擇更多負擔得起的替代品,而我們不會賺錢。另一方面,如果我們將每晚租金設置得太低,我們將錯過潛在的收入。
 

  我們?nèi)绾尾拍苓_到中間的“最佳位置”?我們可以使用的一種策略是:
 

  1)找到一些與我們相似的列表,

  2)平均與我們最相似的商品的標價,

  3)并將我們的掛牌價設為此計算出的平均價格。
 

  但是,一遍又一遍地手動執(zhí)行操作將非常耗時,而且我們是大數(shù)據(jù)分析家!我們將使用稱為k-nearest neighbors的技術來構(gòu)建機器學習模型,以自動執(zhí)行此過程,而不是手動進行操作。
 

  我們將從查看將要使用的數(shù)據(jù)集開始。
 

  我們的租房平臺數(shù)據(jù)
 

  租房平臺不會在其市場上發(fā)布任何列表上的數(shù)據(jù),而是一個名為Inside 租房平臺的獨立組織從網(wǎng)站上許多主要城市的列表樣本中提取數(shù)據(jù)。在本文中,我們將使用2015年10月3日以來在美國首都華盛頓特區(qū)上市的數(shù)據(jù)集。這是該數(shù)據(jù)集的直接鏈接。
 

  數(shù)據(jù)集中的每一行都是一個特定的清單,可供在華盛頓特區(qū)的租房平臺上租用。用機器學習的術語來說,每一行都是一個觀察。這些列描述了每個列表的不同特征(以機器學習術語為特征)。
 

  為了減少使用數(shù)據(jù)集的麻煩,我們刪除了原始數(shù)據(jù)集中的許多列,并將文件重命名為dc_租房平臺.csv。
 

  這是我們將要使用的一些更重要的列(功能),因為這些都是租房者可以用來評估他們將選擇哪個清單的特征:
 

  1)accommodates:租金可容納的客人人數(shù)

  2)bedrooms:租金中包含的臥室數(shù)量

  3)bathrooms:租金中包含的浴室數(shù)量

  4)beds:租金中包含的床位數(shù)

  5)price:每晚租金

  6)minimum_nights:客人可以租用的最少住宿天數(shù)

  7)maximum_nights:客人可以租用的最大住宿天數(shù)

  8)number_of_reviews:先前訪客留下的評論數(shù)
 

  我們將從將清理后的數(shù)據(jù)集讀入pandas開始,打印其大小并查看前幾行。(如果您不確定如何自己從原始數(shù)據(jù)集中刪除多余的列,請查看我們的一些pandas和數(shù)據(jù)清理課程)。

大數(shù)據(jù)分析python
大數(shù)據(jù)分析python
 

  這看起來不錯!現(xiàn)在,讓我們繼續(xù)我們將用于機器學習模型的算法。
 

  K近鄰算法
 

  K最近鄰(KNN)算法的工作方式與我們之前概述的三步過程類似,可以將我們的列表與類似列表進行比較,并取平均價格。讓我們更詳細地看一下:
 

  首先,我們選擇k要比較的相似列表的數(shù)量。

大數(shù)據(jù)分析python
 

  其次,我們需要使用相似度指標來計算每個列表與我們的相似度。

大數(shù)據(jù)分析python
 

  第三,我們使用相似性指標對每個列表進行排名,然后選擇第一個k列表。

大數(shù)據(jù)分析python
 

  最后,我們計算k相似商品的平均價格,并將其用作我們的標價。

大數(shù)據(jù)分析python
 

  盡管為簡單起見,上面的圖像每個觀察僅使用兩個功能(臥室和價格)與我們的清單進行比較,但機器學習的好處在于,通過為每個觀察評估更多的功能,我們可以進行更復雜的比較。
 

  讓我們開始通過定義我們將要使用的相似性度量來構(gòu)建真實模型。然后,我們將實現(xiàn)k最近鄰居算法,并使用該算法為新列表建議價格。出于用Python搭建機器學習模型預測房租價格的目的,我們將使用的固定k值5,但是一旦您熟悉算法的工作流程,就可以嘗試使用該值來查看使用較低或較高的k值可獲得更好的結(jié)果。
 

  歐氏距離
 

  嘗試預測價格等連續(xù)值時,使用的主要相似性度量是歐幾里德距離。這是歐幾里得距離的一般公式:

大數(shù)據(jù)分析python
 

  哪里 q1個 至 qñ 代表一個觀測值的特征值 p1個 至 pñ 代表其他觀察的特征值。
 

  如果您的頭部剛剛爆炸,請放心!我們將把它分解成小塊。我們將從...開始
 

  建立基本的KNN模型

大數(shù)據(jù)分析python
 

  讓我們首先分解一下內(nèi)容,然后僅查看數(shù)據(jù)集中的一列。這是僅一個功能的公式:
 

  用語言表達,我們想要找到觀測值與我們要為所使用功能預測的數(shù)據(jù)點之間的差的絕對值。
 

  就目前的目的而言,假設我們要租用的居住空間可容納三個人。
 

  我們將首先僅使用accommodates要素來計算數(shù)據(jù)集中第一個居住空間與我們自己之間的距離。我們可以使用NumPy函數(shù)np.abs()獲取絕對值。


大數(shù)據(jù)分析python
 

  歐幾里得距離的最小可能值為零,這意味著我們正在比較的觀測值與我們的觀測值相同,因此我們在這里得到的結(jié)果是有意義的。但是,孤立地講,該值的意義并不大,除非我們知道它與其他值的比較方式。讓我們?yōu)閿?shù)據(jù)集中的每個觀測值計算歐幾里得距離,并查看使用的值范圍pd.value_counts()。

大數(shù)據(jù)分析python
 

  有461條距離為的列表,0因此可容納與我們列表相同的人數(shù)。這些列表可能是一個不錯的起點。
 

  如果僅使用距離為的前五個值0,則我們的預測將偏向于數(shù)據(jù)集的現(xiàn)有排序。相反,我們將隨機化觀測值的順序,然后選擇距離為的前五行0。我們將用于DataFrame.sample()隨機化行。此方法通常用于選擇DataFrame的隨機部分,但是我們將告訴它隨機選擇100%,這將為我們隨機地洗排行。
 

  我們還將使用random_state僅給我們可重現(xiàn)的隨機順序的參數(shù),以便任何人都可以遵循并獲得完全相同的結(jié)果。

大數(shù)據(jù)分析python
 

  在我們?nèi)∑骄鶅r格之前,您會注意到我們的價格列具有object類型,這是因為價格具有美元符號和逗號(我們上面的示例未顯示逗號,因為所有值都較小超過$ 1000)。
 

  float在計算前五個值的平均值之前,讓我們通過刪除這些字符并將其轉(zhuǎn)換為類型來清理此列。我們將使用pandas Series.str.replace()刪除流浪字符并傳遞\$|,與$或匹配的正則表達式,。

大數(shù)據(jù)分析python
 

  現(xiàn)在,我們已經(jīng)做出了第一個預測-我們的KNN模型告訴我們,當我們僅使用該accommodates功能時,為三人房列表找到合適的價格,我們應該以$ 88.00的價格列出我們的公寓。
 

  這是一個好的開始!問題是,我們沒有任何方法可以知道此模型的準確性,因此無法進行優(yōu)化和改進。遵循任何機器學習模型的預測而不評估其準確性不是一個好主意!
 

  評估我們的模型
 

  測試模型質(zhì)量的一種簡單方法是:
 

  a)將數(shù)據(jù)集分為2個分區(qū):

    1)一個訓練集:包含了大多數(shù)的行(75%)

    2)甲測試集:包含行的其余少數(shù)(25%)

  b)使用訓練集中的行來預測price測試集中的行的值

  c)將預測值與price測試集中的實際值進行比較,以查看預測值的準確性。
 

  我們要按照這個方法和3,723行我們的數(shù)據(jù)集分為兩個部分:train_df和test_df在75%-25%分割。

大數(shù)據(jù)分析python
 

  我們還將刪除我們在創(chuàng)建第一個模型時先前添加的列。

大數(shù)據(jù)分析python
 

  為了使我們自己更輕松地查看指標,我們會將之前制作的模型合并為一個函數(shù)。我們不必擔心對行進行隨機化,因為它們?nèi)允禽^早前隨機化的。

大數(shù)據(jù)分析python
 

  現(xiàn)在,我們可以使用此函數(shù)使用該accommodates列來預測測試數(shù)據(jù)集的值。

大數(shù)據(jù)分析python
 

  使用RMSE評估我們的模型
 

  對于許多預測任務,我們希望對遠離實際值的預測值的懲罰要遠大于接近實際值的預測值。
 

  為此,我們可以取平方誤差值的平均值,稱為均方根誤差(RMSE)。下面是RMSE下式:,其中表示的數(shù)量測試集中的行。起初,這個公式可能看起來很讓人不知所措,但我們要做的只是:

大數(shù)據(jù)分析python
 

  a)取每個預測值與實際值(或誤差)之差,

  b)平方這個差(平方),

  c)取所有平方差的平均值(均值),然后

  d)取均值的平方根(根)。
 

  因此,從下往上讀?。壕礁`差。讓我們?yōu)闇y試集上的預測計算RMSE值。

大數(shù)據(jù)分析python
 

  RMSE約為213美元。關于RMSE的一件方便的事是,因為我們先平方然后取平方根,所以RMSE的單位與我們預測的值相同,這使我們易于理解錯誤的范圍。
 

  在這種情況下,規(guī)模很大-我們離準確的預測還差得遠。
 

  比較不同型號
 

  有了一個誤差指標,我們可以用來查看模型的準確性,讓我們使用不同的列創(chuàng)建一些預測,并研究誤差的變化情況。

大數(shù)據(jù)分析python
 

  我們可以看到,我們訓練的四個模型中最好的模型是使用該accomodates列的模型。
 

  但是,相對于數(shù)據(jù)集中列表的價格范圍,我們得到的錯誤率非常高。這類錯誤率的預測不會很有幫助。
 

  值得慶幸的是,我們可以做些什么!到目前為止,我們僅使用一種功能(稱為單變量模型)來訓練模型。為了獲得更高的準確性,我們可以讓它同時評估多個特征,這被稱為多元模型。
 

  我們將閱讀此數(shù)據(jù)集的完整版本,以便我們可以專注于評估模型。在我們清理的數(shù)據(jù)集中:
 

  a)由于我們無法計算具有非數(shù)字字符的值的歐幾里得距離,因此所有列均已轉(zhuǎn)換為數(shù)字值。

  b)為簡單起見,非數(shù)字列已被刪除。

  c)缺少值的所有列表均已刪除。

  d)我們對列進行了歸一化,這將為我們提供更準確的結(jié)果。
 

  如果您想了解有關數(shù)據(jù)清理和為機器學習準備數(shù)據(jù)的更多信息,可以閱讀出色的文章為機器學習準備和清理數(shù)據(jù)。
 

  讓我們閱讀這個干凈的版本,稱為dc_租房平臺.normalized.csv,并預覽前幾行:

大數(shù)據(jù)分析python
 

  我們將從建立使用accommodates和bathrooms功能的模型開始。對于這種情況,我們的歐幾里得方程應為:

大數(shù)據(jù)分析python
 

  為了找到兩個生活空間之間的距離,我們需要計算兩個accommodates值之間的平方差,兩個bathrooms值之間的平方差,將它們相加,然后取所得總和的平方根。
 

  這是前兩行之間的歐式距離normalized_listings:

大數(shù)據(jù)分析python
 

  到目前為止,我們已經(jīng)通過自己編寫方程的邏輯來自己計算歐幾里得距離。我們可以改用from中的distance.euclidean()函數(shù)scipy.spatial,該函數(shù)將兩個向量作為參數(shù)并計算它們之間的歐式距離。該euclidean()函數(shù)期望:
 

  1)這兩個向量都將使用類似列表的對象(Python列表,NumPy數(shù)組或pandas系列)來表示

  2)兩個向量都必須是一維的并且具有相同數(shù)量的元素
 

  讓我們使用該euclidean()函數(shù)來計算要練習的數(shù)據(jù)集中第一行和第五行之間的歐幾里得距離。

大數(shù)據(jù)分析python
 

  創(chuàng)建多元KNN模型
 

  我們可以擴展先前的功能以使用兩個功能以及整個數(shù)據(jù)集。而不是distance.euclidean(),我們將使用distance.cdist(),因為它允許我們一次傳遞多行。
 

  (該cdist()方法可以使用多種方法來計算距離,但默認為歐幾里得。)

大數(shù)據(jù)分析python
 

  您可以看到,使用兩項功能(而不只是)時,我們的RMSE從212提高到122 accommodates。盡管它仍然不如我們希望的那樣準確,但這是一個巨大的改進。
 

  scikit-learn簡介
 

  我們一直在從頭開始編寫函數(shù)來訓練我們的k近鄰模型。這有助于了解機制的工作原理,但是現(xiàn)在我們了解了基礎知識,便可以使用Python的scikit-learn庫更快,更高效地工作。
 

  Scikit-learn是Python中最受歡迎的機器學習庫。它具有適用于所有主要機器學習算法的內(nèi)置功能以及簡單,統(tǒng)一的工作流程。這兩個屬性使大數(shù)據(jù)分析家在新數(shù)據(jù)集上訓練和測試不同的模型時,工作效率令人難以置信。
 

  scikit-learn工作流程包括四個主要步驟:
 

  a)實例化您要使用的特定機器學習模型。

  b)使模型適合訓練數(shù)據(jù)。

  c)使用模型進行預測。

  d)評估預測的準確性。
 

  scikit-learn中的每個模型都是作為單獨的類實現(xiàn)的,第一步是識別我們要為其創(chuàng)建實例的類。
 

  任何可以幫助我們預測數(shù)值的模型(例如模型中的上市價格)都稱為回歸模型。機器學習模型的另一個主要類別稱為分類。當我們嘗試從一組固定的標簽(例如血型或性別)中預測標簽時,將使用分類模型。
 

  在我們的例子中,我們想使用KNeighborsRegressor類。這個詞回歸從類名KNeighborsRegressor是指回歸模型類,我們剛才討論的,而“KNeighbors”來自k-最近鄰模型中,我們正在構(gòu)建。
 

  Scikit-learn使用類似于Matplotlib的面向?qū)ο蟮臉邮?。我們需要在調(diào)用其他構(gòu)造函數(shù)之前實例化一個空模型。

大數(shù)據(jù)分析python
 

  如果參考文檔,默認情況下我們會注意到:
 

  1)n_neighbors:鄰居數(shù),設置為 5

  2)algorithm:用于計算最近的鄰居,設置為 auto

  3)p:設置為2,對應于歐幾里得距離
 

  讓我們將algorithm參數(shù)設置為,brute并將n_neighbors值保留為5,這與我們構(gòu)建的手動實現(xiàn)相匹配。

大數(shù)據(jù)分析python
 

  擬合模型并做出預測
 

  現(xiàn)在,我們可以使用fit方法使模型適合數(shù)據(jù)。對于所有模型,該fit方法均采用兩個必需參數(shù):
 

  1)類似于矩陣的對象,其中包含我們要從訓練集中使用的要素列。

  2)包含正確目標值的類似列表的對象。
 

  “類矩陣對象”意味著該方法非常靈活,可以接受pandas DataFrame或NumPy 2D數(shù)組。這意味著我們可以從DataFrame中選擇要使用的列,并將其用作該fit方法的第一個參數(shù)。
 

  對于第二個參數(shù),請回想一下,以下所有都是可接受的類似列表的對象:
 

  1)一個NumPy數(shù)組

    b)Python列表

    c)pandas系列對象(例如列)
 

  讓我們從DataFrame中選擇目標列,并將其用作方法的第二個參數(shù)fit:

大數(shù)據(jù)分析python
 

  fit()調(diào)用該方法時,scikit-learn將在KNearestNeighbors實例(knn)中存儲我們指定的訓練數(shù)據(jù)。如果我們嘗試將包含缺失值或非數(shù)字值的數(shù)據(jù)傳遞到fit方法中,則scikit-learn將返回錯誤。那是該庫的妙處之一–它包含許多類似的功能,以防止我們犯錯誤。
 

  現(xiàn)在,我們已經(jīng)指定了要用于預測的訓練數(shù)據(jù),我們可以使用預測方法對測試集進行預測。該predict方法只有一個必需的參數(shù):
 

  類似于矩陣的對象,其中包含我們要進行預測的數(shù)據(jù)集中的特征列
 

  我們在培訓和測試期間使用的功能列數(shù)需要匹配或scikit-learn會返回錯誤。

大數(shù)據(jù)分析python
 

  該predict()方法返回一個NumPy數(shù)組,其中包含price測試集的預測值。
 

  現(xiàn)在,我們擁有練習整個scikit-learn工作流程所需的一切:

大數(shù)據(jù)分析python
 

  當然,僅僅因為我們使用scikit-learn而不是手動編寫函數(shù),并不意味著我們可以跳過評估步驟,以了解模型預測的實際準確性!
 

  使用Scikit-Learn計算MSE
 

  到目前為止,我們一直使用NumPy和SciPy函數(shù)來協(xié)助我們手動計算RMSE值?;蛘撸覀兛梢愿挠胹klearn.metrics.mean_squared_error function()。
 

  該mean_squared_error()函數(shù)接受兩個輸入:
 

  1)類似于列表的對象,代表測試集中的真實值。

  2)第二個類似列表的對象,代表由模型生成的預測值。

大數(shù)據(jù)分析python
 

  從語法的角度來看,這不僅簡單得多,而且由于scikit-learn已針對速度進行了大幅優(yōu)化,因此運行模型所需的時間更少。
 

  請注意,我們的RMSE與手動實現(xiàn)的算法略有不同-這可能是由于隨機差異以及我們的“手動” KNN算法與scikit-learn版本之間在實現(xiàn)上的細微差異。
 

  請注意,對scikit-learn庫本身的更改也會在一定程度上影響這些值。如果您按照用Python搭建機器學習模型預測房租價格進行操作,但結(jié)果略有不同,則可能是因為您使用的是scikit-learn的較新版本。
 

  使用更多功能
 

  scikit-learn最好的事情之一是它使我們可以更快地進行迭代。讓我們通過創(chuàng)建一個使用四個特征而不是兩個特征的模型來進行嘗試,看看是否可以改善我們的結(jié)果。

大數(shù)據(jù)分析python
 

  在這種情況下,我們的錯誤略有下降。但是,添加功能時可能并不總是這樣做。這是要意識到的重要事項:添加更多功能并不一定會產(chǎn)生更準確的模型。
 

  這是因為添加不是目標變量的準確預測指標的功能會在模型中添加“噪聲”。
 

  摘要
 

  讓我們看看我們學到了什么:
 

  我們了解了什么是機器學習,并通過了一個非?;镜氖謩?ldquo;模型”來預測房屋的銷售價格。
 

  我們了解了k最近鄰居算法,并從頭開始在Python中建立了一個單變量模型(僅一個功能),并用其進行了預測。
 

  我們了解到,RMSE可用于計算模型的誤差,然后可用于迭代和嘗試改善我們的預測。
 

  然后,我們從頭開始創(chuàng)建了一個多變量(多個功能)模型,并將其用于更好的預測。
 

  最后,我們了解了scikit-learn庫,并使用KNeighborsRegressor該類進行了預測。
 

  下一步
 

  如果您想了解更多信息,那么用Python搭建機器學習模型預測房租價格基于我們的AAA教育機器學習基礎課程,這是我們的大數(shù)據(jù)分析學習路徑的一部分。用Python搭建機器學習模型預測房租價格將詳細介紹并改進本文中構(gòu)建的模型,同時使您可以繼續(xù)進行,在瀏覽器中編寫代碼,并通過我們的答案檢查系統(tǒng)對代碼進行每一步檢查,以確保您正確執(zhí)行所有操作。
 

  如果您想自己繼續(xù)研究此模型,可以采取以下幾項措施來提高準確性:
 

  a)嘗試用不同的值代替k。

  b)返回原始數(shù)據(jù)集,并將我們刪除的一些列轉(zhuǎn)換為數(shù)字(我們的“機器學習的準備和清潔數(shù)據(jù)”一文將在這里為您提供幫助),并嘗試添加不同的功能組合。

  c)嘗試一些功能工程,在其中您可以基于現(xiàn)有數(shù)據(jù)創(chuàng)建新列:我們的Kaggle入門:房價競爭一文提供了一個簡單的示例。

 

預約申請免費試聽課

填寫下面表單即可預約申請免費試聽!怕錢不夠?可先就業(yè)掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業(yè)?一地學習,可推薦就業(yè)!

?2007-2021/北京漫動者教育科技有限公司版權所有
備案號:京ICP備12034770號

?2007-2022/ 5wd995.cn 北京漫動者數(shù)字科技有限公司 備案號: 京ICP備12034770號 監(jiān)督電話:010-53672995 郵箱:bjaaa@aaaedu.cc

京公網(wǎng)安備 11010802035704號

網(wǎng)站地圖