Python数据处理课程设计-房屋价格预测
注:可能有些圖片未能成功上傳,可在文檔處進(jìn)行下載
鏈接:Python數(shù)據(jù)處理課程設(shè)計(jì)-房屋價(jià)格預(yù)測(cè)-機(jī)器學(xué)習(xí)文檔類資源-CSDN下載
課程設(shè)計(jì)報(bào)告
| 課程名稱 | Python數(shù)據(jù)處理課程設(shè)計(jì) |
| 項(xiàng)目名稱 | 房屋價(jià)格預(yù)測(cè) |
目錄
一.????? 題目背景.. 3
1.選題背景... 3
2.研究意義... 3
3.題目描述... 3
4.選題數(shù)據(jù)... 3
二.????? 現(xiàn)有研究狀態(tài)... 4
三.????? 運(yùn)用的技術(shù)手段和方法... 5
3.1 EDA(探索性數(shù)據(jù)分析)... 5
3.2 異常值的處理.. 5
3.3合并訓(xùn)練集和測(cè)試集... 6
3.4 刪除多余的列.. 6
3.5 缺失值的處理.. 6
3.6 數(shù)據(jù)類型轉(zhuǎn)換.. 6
3.7 數(shù)據(jù)對(duì)數(shù)化處理... 6
3.8 得到數(shù)據(jù)特征的重要性并做成DataFrame形式... 6
3.9 對(duì)數(shù)據(jù)特征重要性數(shù)值進(jìn)行可視化.. 6
3.10 對(duì)數(shù)據(jù)進(jìn)行合并... 7
3.11 取出處理后的測(cè)試集數(shù)據(jù)... 7
3.12 使用機(jī)器學(xué)習(xí)模型對(duì)數(shù)據(jù)進(jìn)行預(yù)測(cè).. 7
四.????? 數(shù)據(jù)分析.. 7
4.1 EDA(探索性數(shù)據(jù)分析)... 7
4.2異常值處理.. 7
4.3合并訓(xùn)練集和測(cè)試集... 11
4.4刪除多余的列... 11
4.5缺失值處理.. 11
4.6數(shù)據(jù)類型轉(zhuǎn)換... 14
4.7數(shù)據(jù)對(duì)數(shù)化處理.. 14
4.8 得到數(shù)據(jù)特征的重要性并做成DataFrame形式... 16
4.9 對(duì)數(shù)據(jù)特征重要性數(shù)值進(jìn)行可視化.. 17
4.10 對(duì)數(shù)據(jù)進(jìn)行合并... 18
4.11 取出處理后的測(cè)試集數(shù)據(jù)... 20
4.12使用機(jī)器學(xué)習(xí)模型對(duì)數(shù)據(jù)進(jìn)行預(yù)測(cè)... 20
4.13 有意義的方面... 21
五.????? 項(xiàng)目總結(jié).. 22
六.????? 參考文獻(xiàn).. 23
- 題目背景
1.選題背景
隨著經(jīng)濟(jì)的持續(xù)發(fā)展,房地產(chǎn)行業(yè)已經(jīng)成為了支柱產(chǎn)業(yè),房屋價(jià)格不僅直接影響著居民的生活水平,也間接影響著國(guó)家經(jīng)濟(jì)的持續(xù)、健康、平穩(wěn)發(fā)展,房屋價(jià)格已經(jīng)成為關(guān)系民生的熱點(diǎn)問(wèn)題。房?jī)r(jià)是否合理,僅僅通過(guò)表面觀察和憑空想象是不能回答這些問(wèn)題的,要通過(guò)科學(xué)的研究方法才能得出合理的結(jié)論。房屋價(jià)格受到很多因素的制約和影響,比如:地理位置、建造房子所用的材料、住宅風(fēng)格、住宅類型、有無(wú)地下室、有無(wú)車庫(kù)、柵欄的質(zhì)量、家庭的功能等,都會(huì)對(duì)房?jī)r(jià)產(chǎn)生影響。所以要選取的特征因素應(yīng)當(dāng)具有全面性、多樣性,選擇與房?jī)r(jià)密切相關(guān)的指標(biāo),對(duì)數(shù)據(jù)進(jìn)行分析、處理,利用機(jī)器學(xué)習(xí)算法研究其對(duì)價(jià)格的影響程度,并構(gòu)建出穩(wěn)定性好、誤差小的價(jià)格預(yù)測(cè)模型,較為準(zhǔn)確地預(yù)測(cè)出房子的最終價(jià)格,從而為政府相關(guān)部門宏觀調(diào)控、房地產(chǎn)開發(fā)商以及賣房或買房者提供科學(xué)的定價(jià)以及估價(jià)依據(jù),更好地推進(jìn)房屋市場(chǎng)的穩(wěn)定發(fā)展。
2.研究意義
目前有人在對(duì)房屋價(jià)格的研究上已經(jīng)取得了諸多成果,大多數(shù)人主要從政治、經(jīng)濟(jì)、政策、人口等宏觀層面對(duì)房屋價(jià)格進(jìn)行了分析,也有少數(shù)學(xué)者從房屋建筑硬件設(shè)施等微觀因素展開了研究,也取得了較好的預(yù)測(cè)效果,但目前這方面還是相對(duì)較少。鑒于此,我將根據(jù)比賽的數(shù)據(jù),構(gòu)建特征變量集,選取有代表性的特征變量,在已有數(shù)據(jù)的基礎(chǔ)上,對(duì)數(shù)據(jù)進(jìn)行處理,使用機(jī)器學(xué)習(xí)算法分析房?jī)r(jià)問(wèn)題,選擇預(yù)測(cè)模型將其用于預(yù)測(cè)測(cè)試集的房屋價(jià)格。
此外,無(wú)論是對(duì)于監(jiān)管者還是消費(fèi)者,是房產(chǎn)中介機(jī)構(gòu)還是房地產(chǎn)開發(fā)商,只有深入了解房地產(chǎn)交易市場(chǎng),才能進(jìn)行合理監(jiān)管與規(guī)劃;高效率推廣房源,在能滿足購(gòu)房者需求的前提下科學(xué)定價(jià),提高市場(chǎng)競(jìng)爭(zhēng)優(yōu)勢(shì);有效規(guī)避風(fēng)險(xiǎn),降低不必要的損失等。所以預(yù)測(cè)房屋價(jià)格能為人們?cè)谧》抠?gòu)買方面提供更多選擇,具有一定的參考作用。
3.題目描述
購(gòu)房者描述了他們夢(mèng)想中的房子,他們可能不會(huì)從地下室天花板的高度或東西向鐵路的距離開始。但這些數(shù)據(jù)證明,影響價(jià)格談判的因素遠(yuǎn)大于臥室數(shù)量或白色柵欄。題目給出的變量幾乎描述了愛(ài)荷華州艾姆斯市住宅的各個(gè)方面。根據(jù)題目所給出的訓(xùn)練集和測(cè)試集的數(shù)據(jù),分析題目所給的80個(gè)變量,預(yù)測(cè)出測(cè)試集中1460條樣本的房?jī)r(jià)。
4.選題數(shù)據(jù)
賽題數(shù)據(jù)由以下兩部分構(gòu)成:
訓(xùn)練集包含1460條樣本,81個(gè)屬性:
測(cè)試集包含1460條樣本,80個(gè)屬性:
- 現(xiàn)有研究狀態(tài)
一直以來(lái),房?jī)r(jià)問(wèn)題是社會(huì)各界討論較多的話題,已有諸多學(xué)者從不同視角探索了影響房?jī)r(jià)的因素,并取得了一定研究成果。同時(shí)也在嘗試探索如何構(gòu)建更精確的模型去預(yù)測(cè)房?jī)r(jià)。
近年來(lái),國(guó)內(nèi)外大多學(xué)者以宏觀或微觀角度為切入點(diǎn),展開對(duì)房?jī)r(jià)影響因素的研究。如:
- 周學(xué)君等[1]采用了影響房?jī)r(jià)的6個(gè)主要因素輸入到人工神經(jīng)網(wǎng)絡(luò)中進(jìn)行房?jī)r(jià)預(yù)測(cè);
- 申瑞娜等[2]收集了影響房?jī)r(jià)的8個(gè)因素,結(jié)合主要影響因素和支持向量機(jī)對(duì)房屋價(jià)格進(jìn)行預(yù)測(cè);
- 王景行[3]將LASSO回歸和XGBoost機(jī)器學(xué)習(xí)算法集成并融合stacking模型來(lái)對(duì)比用單一方法預(yù)測(cè)房?jī)r(jià)的效果,得到用集成模型來(lái)預(yù)測(cè)房?jī)r(jià)比用單一模型預(yù)測(cè)效果更加顯著的結(jié)論;
- 趙泰等[4]將灰色GM(1,1)模型來(lái)對(duì)商品房銷售的價(jià)格進(jìn)行預(yù)測(cè),得到了該模型在房?jī)r(jià)中的應(yīng)用價(jià)值;
- 王瑾等[5]通過(guò)多元逐步回歸方法建立房?jī)r(jià)預(yù)測(cè)模型對(duì)北京市房屋價(jià)格進(jìn)行統(tǒng)計(jì)分析;
- 陳世鵬等[6]根據(jù)襄陽(yáng)房貸數(shù)據(jù)建立隨機(jī)森林模型對(duì)測(cè)試樣本進(jìn)行房?jī)r(jià)預(yù)測(cè),取得了較好的效果。
在研究方法上大部分學(xué)者都使用了 Lasso回歸、隨機(jī)森林回歸、支持向量回歸、XGBoost 回歸、多元線性回歸等單一模型,使用的模型較為廣泛,也有部分研究所選取的特征維數(shù)有限,并不能全面反映影響房屋價(jià)格的制約因素,能夠分析處理的特征維數(shù)較少,并不能全面挖掘特征因素與房?jī)r(jià)之間的影響關(guān)系。
所以本文在對(duì)房屋價(jià)格的研究過(guò)程中,以Kaggle平臺(tái)的房屋價(jià)格作為數(shù)據(jù)庫(kù),建立影響房屋價(jià)格的多維因素與房屋價(jià)格之間的聯(lián)系,我選取了較多的變量組合對(duì)同一預(yù)測(cè)指標(biāo)進(jìn)行對(duì)比分析和模型評(píng)價(jià),將多種算法融合使用并構(gòu)建組合模型去預(yù)測(cè)房屋的價(jià)格,通過(guò)模型評(píng)價(jià)指標(biāo),選擇最優(yōu)的預(yù)測(cè)模型,以為政府部門、中介機(jī)構(gòu)和購(gòu)房者等提供合理的對(duì)策建議。
- 運(yùn)用的技術(shù)手段和方法
3.1 EDA(探索性數(shù)據(jù)分析)
這是一個(gè)功能強(qiáng)大的庫(kù),使用這個(gè)庫(kù)只需要一行代碼便可以得到數(shù)據(jù)EDA報(bào)告,生成的報(bào)告可以有效幫助我們熟悉數(shù)據(jù)集、了解數(shù)據(jù)集。報(bào)告中會(huì)有缺失值信息、重復(fù)值信息、每個(gè)變量的信息等內(nèi)容,這些信息以便更好對(duì)數(shù)據(jù)進(jìn)行的分析、處理。
3.2 異常值的處理
看到數(shù)據(jù)后,我首先考慮的是數(shù)據(jù)中異常值信息,對(duì)數(shù)據(jù)中異常值進(jìn)行處理。在處理數(shù)據(jù)異常值這里,我根據(jù)變量的相關(guān)矩陣圖選取了三個(gè)變量:建造年份、房屋的面積和地下室面積,構(gòu)建了三個(gè)圖像:YearBuilt與SalePrice之間的箱型圖、GrLivArea與SalePrice之間的散點(diǎn)圖、TotalBsmSF與SalePrice之間的散點(diǎn)圖,通過(guò)得到的圖對(duì)異常的數(shù)據(jù)進(jìn)行分析處理。
3.3合并訓(xùn)練集和測(cè)試集
接下來(lái)便是把訓(xùn)練集和測(cè)試集數(shù)據(jù)進(jìn)行合并,以便后面方便對(duì)數(shù)據(jù)進(jìn)行分析、處理。
3.4 刪除多余的列
把數(shù)據(jù)進(jìn)行合并后,我發(fā)現(xiàn)Id列和索引值都是以1為間隔,升序排列的數(shù)值,所以我把Id列給刪除了,刪除Id列后,方便后面對(duì)數(shù)據(jù)的處理。
3.5 缺失值的處理
在開始的時(shí)候,有考慮過(guò)要不要把有缺失的數(shù)據(jù)給刪除,但缺失值的數(shù)量還是挺多的,如果把缺失的數(shù)據(jù)都刪除的話,信息丟失會(huì)很大,所以還是選擇保留。
在對(duì)缺失數(shù)據(jù)進(jìn)行填充時(shí),我對(duì)部分字符類型的變量使用眾數(shù)進(jìn)行填充,部分字符類型的變量用“None”進(jìn)行填充,對(duì)數(shù)值類型的變量使用0進(jìn)行填充。
3.6 數(shù)據(jù)類型轉(zhuǎn)換
從變量的數(shù)據(jù)類型信息圖中可以看到,有很多變量是字符串類型的,但計(jì)算機(jī)對(duì)字符串的特征是無(wú)能為力的,所以需要將字符串特征映射成數(shù)值類型。
3.7 數(shù)據(jù)對(duì)數(shù)化處理
由于一些變量不符合正態(tài)分布,對(duì)數(shù)據(jù)進(jìn)行對(duì)數(shù)化處理可以使那些不完全具有正態(tài)分布的特征更符合正態(tài)分布,特征的正態(tài)性對(duì)回歸模型的擬合效果起到非常重要的作用。所以對(duì)數(shù)據(jù)進(jìn)行對(duì)數(shù)轉(zhuǎn)換,不僅可以使特征正態(tài)化,而且也可以減少異常值對(duì)變量的影響。
3.8 得到數(shù)據(jù)特征的重要性并做成DataFrame形式
特征的選擇是非常關(guān)鍵的一步,好的特征選擇能夠提升模型的性能,更能幫助我們理解數(shù)據(jù)的特點(diǎn)、底層結(jié)構(gòu),這對(duì)進(jìn)一步改善模型、算法都有著重要作用。特征沒(méi)有選擇好,對(duì)比賽結(jié)果也會(huì)產(chǎn)生不小的影響。這里我選擇使用Lasoo回歸來(lái)得到數(shù)據(jù)特征的重要性數(shù)值,并將變量名和特征的重要性作為DataFrame的形式,方便后面進(jìn)行可視化處理。
3.9 對(duì)數(shù)據(jù)特征重要性數(shù)值進(jìn)行可視化
得到了變量特征的重要性后,由于得到的是一些數(shù)值,數(shù)字太抽象,圖表會(huì)更直觀、可以突出數(shù)據(jù)中的關(guān)注點(diǎn),所以這里對(duì)上面得到的數(shù)據(jù)進(jìn)行可視化處理。
3.10 對(duì)數(shù)據(jù)進(jìn)行合并
根據(jù)上面得到的數(shù)據(jù)特征重要性圖,對(duì)數(shù)據(jù)特征進(jìn)行選擇與重做,對(duì)題目所給的變量,根據(jù)特征重要性值對(duì)特征進(jìn)行加減乘除等運(yùn)算,對(duì)部分?jǐn)?shù)據(jù)進(jìn)行合并。
3.11 取出處理后的測(cè)試集數(shù)據(jù)
將數(shù)據(jù)進(jìn)行處理后,把測(cè)試集的數(shù)據(jù)取出,以便后面使用機(jī)器學(xué)習(xí)相關(guān)模型對(duì)數(shù)據(jù)進(jìn)行預(yù)測(cè)。
3.12 使用機(jī)器學(xué)習(xí)模型對(duì)數(shù)據(jù)進(jìn)行預(yù)測(cè)
對(duì)數(shù)據(jù)處理完成后,使用機(jī)器學(xué)習(xí)算法對(duì)的處理后的測(cè)試集進(jìn)行預(yù)測(cè),得到測(cè)試結(jié)果。
- 數(shù)據(jù)分析
4.1 EDA(探索性數(shù)據(jù)分析)
首先我根據(jù)題目所給的數(shù)據(jù),使用了pandas_profiling庫(kù),生成了數(shù)據(jù)的EDA(探索性數(shù)據(jù)分析)報(bào)告:
從Overview部分可以看到,數(shù)據(jù)中沒(méi)有重復(fù)數(shù)據(jù),不需要處理重復(fù)數(shù)據(jù);但空值占比還是不小的,有5.9%,需要對(duì)空值進(jìn)行處理。
4.2異常值處理
根據(jù)EDA報(bào)告中得到的變量相關(guān)矩陣圖:
從這個(gè)相關(guān)矩陣圖的最后一列數(shù)據(jù)可以看出,SalePrice與其他變量的關(guān)系,從圖中可以看出房屋的面積(GrLivArea)、地下室面積(GrLivArea)、建造年份(YearBuilt)等變量與SalePrice的顏色較深,也有其他一些顏色較深的變量。顏色越深說(shuō)明其相關(guān)性越大。我認(rèn)為房屋的面積(GrLivArea)、地下室面積(TotalBsmSF)、建造年份(YearBuilt)與房屋的價(jià)格(SalePrice)關(guān)系還是挺大的,一般來(lái)講,面積越大房子的價(jià)格會(huì)越貴,房齡越久房子的價(jià)格也會(huì)較便宜。所以我構(gòu)建了三個(gè)圖像:YearBuilt與SalePrice之間的箱型圖、GrLivArea與SalePrice之間的散點(diǎn)圖、TotalBsmSF與SalePrice之間的散點(diǎn)圖。
- YearBuilt與SalePrice的箱型圖:
從這個(gè)箱型圖可以看出:房屋建造年份和銷售價(jià)格并沒(méi)有很強(qiáng)的趨勢(shì)關(guān)系, 但根據(jù)我平時(shí)的常識(shí)來(lái)說(shuō),我覺(jué)得他們兩者之間還是有一定的關(guān)系,所以在后面處理時(shí)我還是將它重點(diǎn)考慮了。
- GrLivArea與SalePrice的散點(diǎn)圖:
根據(jù)得到的散點(diǎn)圖,可以看出房屋面積和房屋的價(jià)格存在著一定的線性關(guān)系,但也有少量的數(shù)據(jù)偏離線性關(guān)系,由于數(shù)據(jù)只有兩個(gè),所以這里我把太偏離線性的那兩個(gè)數(shù)據(jù)使用drop()函數(shù)刪除掉了,刪除后得到的散點(diǎn)圖如下:
- TotalBsmSF與SalePrice的散點(diǎn)圖:
根據(jù)得到的散點(diǎn)圖,可以看出地下室面積和房屋的價(jià)格存在著一定的線性關(guān)系,但也有數(shù)據(jù)偏離線性關(guān)系,所以這里我把右邊太偏離線性的那個(gè)數(shù)據(jù)使用drop()函數(shù)刪除掉了,刪除后得到的散點(diǎn)圖如下:
4.3合并訓(xùn)練集和測(cè)試集
處理好了訓(xùn)練集的異常值后,我把訓(xùn)練集和測(cè)試集數(shù)據(jù)使用concat()函數(shù)進(jìn)行合并,以便后面方便對(duì)數(shù)據(jù)進(jìn)行分析處理。
4.4刪除多余的列
把數(shù)據(jù)進(jìn)行合并后,我發(fā)現(xiàn)Id列和索引值都是以1 為間隔升序的數(shù)值:
所以我把Id列給刪除,刪除Id列后,方便后面對(duì)數(shù)據(jù)的處理,刪除后:
4.5缺失值處理
在得到的EDA報(bào)告中可以看出訓(xùn)練集中缺失值占比不少:
從圖中可以看出,空白部分代表的是缺失值,部分變量缺失值占比很大。
把數(shù)據(jù)合并后,我使用了isnull()和sum()函數(shù)來(lái)統(tǒng)計(jì)數(shù)據(jù)中缺失值的個(gè)數(shù),并使用sort_values()函數(shù)對(duì)缺失數(shù)據(jù)從低到高進(jìn)行排序:
由于存在空值的變量較多,我使用了info()方法查看80個(gè)變量的信息:
從得到的信息可以看出,有些缺失數(shù)據(jù)時(shí)字符串類型的,有些是數(shù)值類型的,所以在使用fillna()函數(shù)對(duì)缺失值進(jìn)行填充時(shí),我先對(duì)字符串類型的變量進(jìn)行分析,決定對(duì)這些變量:MSZoning?(一般分區(qū)分類)、BsmtFullBath?(地下室全浴室)、BsmtHalfBath?(地下室半浴室)、KitchenQual?(廚房質(zhì)量)、SaleType?(銷售類型)、Exterior1st?(房屋外墻)、Exterior2nd?(房屋的外部覆蓋物)、Utilities(公用設(shè)施)、Functional(家庭功能評(píng)級(jí))、Electrical(電氣設(shè)備)使用眾數(shù)進(jìn)行填充;對(duì)數(shù)值類型的變量用0進(jìn)行填充;對(duì)剩下的字符型變量使用“None”進(jìn)行填充:
填充完成后,查看是否有還有未填充的數(shù)據(jù):
發(fā)現(xiàn)只有房屋價(jià)格一列存在缺失,故把目前把空值填充完成。
4.6數(shù)據(jù)類型轉(zhuǎn)換
從上面得到數(shù)據(jù)類型信息圖中可以看到,有很多變量是字符串類型的,但計(jì)算機(jī)對(duì)字符串的特征是無(wú)能為力的,所以需要將字符串特征映射成數(shù)值類型。我使用了fit_transform()函數(shù)對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換,fit_transform()是fit()和transform()的組合,這個(gè)函數(shù)先對(duì)部分?jǐn)?shù)據(jù)進(jìn)行擬合fit,然后根據(jù)具體轉(zhuǎn)換的目的,對(duì)該數(shù)據(jù)進(jìn)行轉(zhuǎn)換,從而實(shí)現(xiàn)數(shù)據(jù)的標(biāo)準(zhǔn)化:
可以看到轉(zhuǎn)換后字符類型的值轉(zhuǎn)換為數(shù)值類型的值。
4.7數(shù)據(jù)對(duì)數(shù)化處理
由于一些變量不符合正態(tài)分布,對(duì)數(shù)據(jù)進(jìn)行對(duì)數(shù)化處理可以使那些不完全具有正態(tài)分布的特征更符合正態(tài)分布,特征的正態(tài)性對(duì)回歸模型的擬合效果會(huì)起到非常重要的作用。所以我對(duì)部分?jǐn)?shù)據(jù)進(jìn)行對(duì)數(shù)轉(zhuǎn)換:
SalePrice(房屋價(jià)格):
|
|
由于變量數(shù)較多,所以我篩選了部分變量,選擇了skew(偏差)大于0.75的變量,共有12個(gè),對(duì)這12個(gè)變量進(jìn)行了轉(zhuǎn)換,下面是前后對(duì)比圖:
4.8 得到數(shù)據(jù)特征的重要性并做成DataFrame形式
特征的選擇是非常關(guān)鍵的一步,好的特征選擇能夠提升模型的性能,更能幫助我們理解數(shù)據(jù)的特點(diǎn)、底層結(jié)構(gòu),這對(duì)進(jìn)一步改善模型、算法都有著重要作用。特征沒(méi)有選擇好,對(duì)比賽結(jié)果也會(huì)產(chǎn)生不小的影響。在得到數(shù)據(jù)特征的重要性時(shí),我考慮到了Lasso回歸和Ridge回歸,但由于Lasso回歸中求得的值會(huì)有更少的非零分量,所以這里我選擇使用Lasoo回歸來(lái)得到數(shù)據(jù)特征的重要性數(shù)值:
得到后,將變量名和特征的重要性作為DataFrame的形式,方便后面進(jìn)行可視化處理:
4.9 對(duì)數(shù)據(jù)特征重要性數(shù)值進(jìn)行可視化
得到了變量特征的重要性后,由于得到的是一些數(shù)值,數(shù)字太抽象,圖表會(huì)更直觀、可以突出數(shù)據(jù)中的關(guān)注點(diǎn),所以這里對(duì)上面得到的數(shù)據(jù)進(jìn)行可視化處理:
4.10 對(duì)數(shù)據(jù)進(jìn)行合并
根據(jù)上面得到的數(shù)據(jù)特征重要性圖,對(duì)數(shù)據(jù)特征進(jìn)行選擇與重做,對(duì)題目所給的變量,根據(jù)特征重要性值對(duì)特征進(jìn)行加減乘除等運(yùn)算,對(duì)部分?jǐn)?shù)據(jù)進(jìn)行合并,我構(gòu)造了一個(gè)轉(zhuǎn)換函數(shù)transform():
下面是我構(gòu)建這個(gè)轉(zhuǎn)換函數(shù)的想法:
- 地下室面積、一樓的面積、二樓的面積這三者進(jìn)行組合為整個(gè)房子
- 地下室面積、一樓的面積、二樓的面積、車庫(kù)面積這四者進(jìn)行組合為整個(gè)房子的總面積
- 把總體材料和加工質(zhì)量、整個(gè)房子進(jìn)行組合為一個(gè)新的特征變量
- 把生活區(qū)面積、總體材料和加工質(zhì)量進(jìn)行組合為一個(gè)新的特征變量
- 把一般分區(qū)分類、整個(gè)房子進(jìn)行組合為一個(gè)新的特征變量
- 把一般分區(qū)分類、總體材料和加工質(zhì)量進(jìn)行組合為一個(gè)新的特征變量
- 把一般分區(qū)分類、建造年份進(jìn)行組合為一個(gè)新的特征變量
- 把鄰里、整個(gè)房子進(jìn)行組合為一個(gè)新的特征變量
- 把鄰里、總體材料和加工質(zhì)量進(jìn)行組合為一個(gè)新的特征變量
- 把鄰里、建造年份進(jìn)行組合為一個(gè)新的特征變量
- 把地下室的高度、總體材料和加工質(zhì)量進(jìn)行組合為一個(gè)新的特征變量
- 把家庭功能評(píng)級(jí)、整個(gè)房子進(jìn)行組合為一個(gè)新的特征變量
- 把家庭功能評(píng)級(jí)、總體材料和加工質(zhì)量進(jìn)行組合為一個(gè)新的特征變量
- 把地塊面積、總體材料和加工質(zhì)量進(jìn)行組合為一個(gè)新的特征變量
- 把整個(gè)房子、地塊面積進(jìn)行組合為一個(gè)新的特征變量
- 把類型 1成品、類型 2成品、地下室進(jìn)行組合為一個(gè)新的特征變量
- 把浴室、房間數(shù)進(jìn)行組合為一個(gè)新的特征變量
- 把開放門廊面積、?封閉的門廊面積、三季門廊面積、屏幕門廊面積進(jìn)行組合為一個(gè)新的特征變量
- 把地下室總面積、一樓的面積、二樓的面積、車庫(kù)面積、開放門廊面積、?封閉的門廊面積、三季門廊面積、屏幕門廊面積進(jìn)行組合為一個(gè)新的特征變量
以上19條便是我根據(jù)數(shù)據(jù)特征重要性圖和自己的想法來(lái)對(duì)數(shù)據(jù)進(jìn)行特征的選擇和重做。
4.11 取出處理后的測(cè)試集數(shù)據(jù)
將數(shù)據(jù)進(jìn)行處理后,把測(cè)試集的數(shù)據(jù)取出,以便后面使用機(jī)器學(xué)習(xí)相關(guān)模型對(duì)數(shù)據(jù)進(jìn)行預(yù)測(cè):
4.12使用機(jī)器學(xué)習(xí)模型對(duì)數(shù)據(jù)進(jìn)行預(yù)測(cè)
對(duì)數(shù)據(jù)處理完成后,使用機(jī)器學(xué)習(xí)算法對(duì)的處理后的測(cè)試集進(jìn)行預(yù)測(cè),得到測(cè)試結(jié)果:
①首先構(gòu)建了模型評(píng)估方法:我選擇使用交叉驗(yàn)證法。使用交叉驗(yàn)證法,每個(gè)樣例都會(huì)剛好在測(cè)試集中出現(xiàn)一次,對(duì)數(shù)據(jù)的使用更加高效,更多的數(shù)據(jù)可以得到更為精確的模型。 ②接下來(lái)使用網(wǎng)格搜索:網(wǎng)格搜索是一種調(diào)參手段,可以實(shí)現(xiàn)自動(dòng)調(diào)參并返回最佳的參數(shù)組合。 ③接下來(lái)就是對(duì)模型的選擇:我使用了6個(gè)模型,這些模型之間有一些相同的點(diǎn),但各個(gè)模型都有各自的優(yōu)點(diǎn)所在: Lasso回歸:該方法是以縮小變量集(降階)為思想的壓縮估計(jì)方法。 嶺回歸:在不拋棄任何一個(gè)變量的情況下,縮小了回歸系數(shù),使得模型相對(duì)而言會(huì)比較穩(wěn)定。 支持向量回歸:這是一種“寬容的回歸模型”,在線性函數(shù)兩側(cè)制造了一個(gè)“間隔帶”,對(duì)于所有落入到間隔帶內(nèi)的樣本,都不計(jì)算損失。 核嶺回歸:這個(gè)回歸會(huì)產(chǎn)生近似形式的解,在中度規(guī)模的數(shù)據(jù)時(shí)效率高。 彈性網(wǎng)絡(luò):彈性網(wǎng)絡(luò)它永遠(yuǎn)可以產(chǎn)生有效解,它不會(huì)產(chǎn)生交叉的路徑。 貝葉斯回歸:貝葉斯回歸易于訓(xùn)練,可以用于在預(yù)估階段的參數(shù)正則化,通過(guò)手動(dòng)調(diào)節(jié)數(shù)據(jù)值來(lái)實(shí)現(xiàn)。 ④最優(yōu)參數(shù)的選取:使用上面所定義的模型評(píng)估方法對(duì)選擇的模型進(jìn)行評(píng)估,得出每個(gè)模型的最優(yōu)參數(shù)如下: ⑤模型的集成:得到了選取模型的最優(yōu)參數(shù)后,對(duì)模型進(jìn)行集成,我使用了兩個(gè)方法對(duì)模型進(jìn)行集成: 加權(quán)平均法:使用上面所選取的最優(yōu)參數(shù),對(duì)每個(gè)模型分配不同比例的權(quán)重,求出交叉驗(yàn)證的均值: 模型的堆疊:定義了模型堆疊函數(shù)(先把數(shù)據(jù)進(jìn)行了5折劃分,把數(shù)據(jù)集分成了5份,然后使用模型進(jìn)行擬合),后面便可以根據(jù)這個(gè)函數(shù)對(duì)數(shù)據(jù)進(jìn)行預(yù)測(cè)。⑥模型訓(xùn)練、預(yù)測(cè)結(jié)果:把處理后得到的測(cè)試集數(shù)據(jù)放到堆疊的模型中進(jìn)行計(jì)算,得到結(jié)果,并將結(jié)果保存到csv文件中:
4.13 有意義的方面
我認(rèn)為數(shù)據(jù)處理的有意義方面有:- 對(duì)空值的填充:在對(duì)空值進(jìn)行填充時(shí),我選擇對(duì)房屋銷售類型、一般分區(qū)分類、地下室全浴室、地下室半浴室、廚房質(zhì)量、銷售類型、房屋外墻、房屋的外部覆蓋物、公用設(shè)施、家庭功能評(píng)級(jí)、電氣設(shè)備這些變量使用眾數(shù)進(jìn)行填充,我認(rèn)為這些變量可以用數(shù)據(jù)的一般水平來(lái)代替。
- 對(duì)異常數(shù)據(jù)的刪除:通過(guò)分析得到了房屋的面積、地下室面積、建造年份這三個(gè)變量與房屋價(jià)格之間的關(guān)系,得到了他們與房屋價(jià)格之間的圖像,通過(guò)圖像分析,對(duì)異常的值進(jìn)行刪除。
- 數(shù)據(jù)的對(duì)數(shù)化處理:一些變量不符合正態(tài)分布,對(duì)數(shù)據(jù)進(jìn)行對(duì)數(shù)化處理可以使那些不完全具有正態(tài)分布的特征更符合正態(tài)分布,這樣對(duì)回歸模型的擬合效果會(huì)起到非常重要的作用。
- 將室內(nèi)房屋的面積(地下室面積、一樓的面積、二樓的面積、車庫(kù)面積)進(jìn)行合并處理,構(gòu)建出一個(gè)新的變量,并對(duì)這個(gè)新的變量進(jìn)行分析處理。
- 把室內(nèi)、室外房屋的面積(地下室總面積、一樓的面積、二樓的面積、車庫(kù)面積、開放門廊面積、?封閉的門廊面積、三季門廊面積、屏幕門廊面積)進(jìn)行合并,構(gòu)建出一個(gè)新的變量,表示整個(gè)房子的室內(nèi)、室外總面積。
- 把房屋的面積和房屋的加工材料這兩個(gè)變量進(jìn)行乘法運(yùn)算,得到一個(gè)新的變量,后面再對(duì)這個(gè)新的變量進(jìn)行分析。
- 把浴室、房間數(shù)相加組合為一個(gè)新的特征變量,這個(gè)變量可以用來(lái)表示整個(gè)房子的總房間個(gè)數(shù)。
- 把鄰里、建造年份相加,組合為一個(gè)新的特征變量,我認(rèn)為鄰里可以反應(yīng)出房子所在位置所在地段是否繁華,而建造年份可以反應(yīng)出房子從開始建造到購(gòu)買房子的時(shí)間。
- 把家庭功能評(píng)級(jí)、總體材料和加工質(zhì)量相加,組合為一個(gè)新的特征變量,家庭功能評(píng)級(jí)和房子所用的材料都可以反應(yīng)出這個(gè)房子的好壞,評(píng)級(jí)越高、加工材料越好,肯定房子也是越好的。
- 把(開放門廊面積、?封閉的門廊面積、三季門廊面積、屏幕門廊面積)相加,進(jìn)行組合為一個(gè)新的特征變量門廊的總面積,后面便可以對(duì)門廊總面積進(jìn)行分析了。
- 項(xiàng)目總結(jié)
- 參考文獻(xiàn)
總結(jié)
以上是生活随笔為你收集整理的Python数据处理课程设计-房屋价格预测的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 基于UCOS-III的雷电传奇自制小游戏
- 下一篇: omnigraffle 画曲线_三步学会