Python人工智能之波士頓房?jī)r(jià)數(shù)據(jù)分析
【人工智能項(xiàng)目】機(jī)器學(xué)習(xí)熱門(mén)項(xiàng)目-波士頓房?jī)r(jià)
1.數(shù)據(jù)概覽分析
1.1 數(shù)據(jù)概覽
本次提供:
- train.csv,訓(xùn)練集;
- test.csv,測(cè)試集;
- submission.csv 真實(shí)房?jī)r(jià)文件;
訓(xùn)練集404行數(shù)據(jù),14列,每行數(shù)據(jù)表示房屋以及房屋周?chē)脑敿?xì)信息,已給出對(duì)應(yīng)的自住房平均房?jī)r(jià)。要求預(yù)測(cè)102條測(cè)試數(shù)據(jù)的房?jī)r(jià)。
1.2 數(shù)據(jù)分析
通過(guò)學(xué)習(xí)房屋以及房屋周?chē)脑敿?xì)信息,其中包含城鎮(zhèn)犯罪率,一氧化氮濃度,住宅平均房間數(shù),到中心區(qū)域的加權(quán)距離以及自住房平均房?jī)r(jià)等等,訓(xùn)練模型,通過(guò)某個(gè)地區(qū)的房屋以及房屋周?chē)脑敿?xì)信息,預(yù)測(cè)該地區(qū)的自住房平均房?jī)r(jià)。
回歸問(wèn)題,提交測(cè)試集每條數(shù)據(jù)對(duì)應(yīng)的自住房平均房?jī)r(jià)。評(píng)估指標(biāo)為均方誤差mse。
2. 項(xiàng)目總體思路
2.1 數(shù)據(jù)讀取
數(shù)據(jù)集:波士頓房間訓(xùn)練集.csv (404條數(shù)據(jù))
數(shù)據(jù)集字段如下:
CRIM:城鎮(zhèn)人均犯罪率。
ZN:住宅用地超過(guò) 25000 sq.ft. 的比例。
INDUS:城鎮(zhèn)非零售商用土地的比例。
CHAS:查理斯河空變量(如果邊界是河流,則為1;否則為0)。
NOX:一氧化氮濃度。
RM:住宅平均房間數(shù)。
AGE:1940 年之前建成的自用房屋比例。
DIS:到波士頓五個(gè)中心區(qū)域的加權(quán)距離。
RAD:輻射性公路的接近指數(shù)。
TAX:每 10000 美元的全值財(cái)產(chǎn)稅率。
PTRATIO:城鎮(zhèn)師生比例。
B:1000(Bk-0.63)^ 2,其中 Bk 指代城鎮(zhèn)中黑人的比例。
LSTAT:人口中地位低下者的比例。
MEDV:自住房的平均房?jī)r(jià),以千美元計(jì)。
2.2 模型預(yù)處理
(1)數(shù)據(jù)離群點(diǎn)處理
首先對(duì)訓(xùn)練集進(jìn)行拆分為子訓(xùn)練集與子測(cè)試集,利用train_data.sort_values對(duì)訓(xùn)練集進(jìn)行排序,依次刪除每個(gè)特征對(duì)應(yīng)的離群樣本,利用子訓(xùn)練集與子測(cè)試集對(duì)模型進(jìn)行訓(xùn)練與測(cè)試并確定該特征下所需刪除樣本的最佳個(gè)數(shù)。
(2)數(shù)據(jù)歸一化處理
利用sklearn.preprocessing. StandardScaler對(duì)數(shù)據(jù)集與標(biāo)簽分別進(jìn)行標(biāo)準(zhǔn)化處理。
2.3. 特征工程
利用隨機(jī)森林特征選擇算法剔除不敏感特征。
2.4. 模型選擇
使用GradientBoostingRegressor集成回歸模型。
Gradient Boosting 在迭代的時(shí)候選擇梯度下降的方向來(lái)保證最后的結(jié)果最好。損失函數(shù)用來(lái)描述模型的“靠譜”程度,假設(shè)模型沒(méi)有過(guò)擬合,損失函數(shù)越大,模型的錯(cuò)誤率越高
如果我們的模型能夠讓損失函數(shù)持續(xù)的下降,則說(shuō)明我們的模型在不停的改進(jìn),而最好的方式就是讓損失函數(shù)在其梯度方向上下降。
2.5. 模型評(píng)價(jià)
采用均方誤差(MSE)評(píng)分標(biāo)準(zhǔn),MSE: Mean Squared Error 。均方誤差是指參數(shù)估計(jì)值與參數(shù)真值之差平方的期望值;
MSE可以評(píng)價(jià)數(shù)據(jù)的變化程度,MSE的值越小,說(shuō)明預(yù)測(cè)模型描述實(shí)驗(yàn)數(shù)據(jù)具有更好的精確度。計(jì)算公式如下:
其在測(cè)試集上的MSE值為:
2.6. 模型調(diào)參
對(duì)n_ n_estimators的參數(shù)進(jìn)行調(diào)參:
3. 項(xiàng)目總結(jié)
通過(guò)多次實(shí)驗(yàn),我們目前得到的最優(yōu)解為8.18左右。在處理小數(shù)據(jù)集出現(xiàn)過(guò)擬合時(shí),首先應(yīng)當(dāng)考慮減小模型或增加數(shù)據(jù)集。由于本次實(shí)驗(yàn)是通過(guò)大量訓(xùn)練取最優(yōu)的辦法均使用缺省參數(shù),對(duì)超參數(shù)進(jìn)一步調(diào)優(yōu)也許可更進(jìn)一步。
到此這篇關(guān)于Python人工智能之波士頓房?jī)r(jià)數(shù)據(jù)分析的文章就介紹到這了,更多相關(guān)Python 波士頓房?jī)r(jià)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python使用__new__()方法為對(duì)象分配內(nèi)存及返回對(duì)象的引用示例
這篇文章主要介紹了Python使用__new__()方法為對(duì)象分配內(nèi)存及返回對(duì)象的引用,結(jié)合實(shí)例形式分析了Python對(duì)象初始化及內(nèi)存操作相關(guān)使用技巧,需要的朋友可以參考下2019-09-09Pandas中八個(gè)常用option設(shè)置的示例詳解
通過(guò)pandas的使用,我們經(jīng)常要交互式地展示表格(dataframe)、分析表格。本文整理了8個(gè)常用的配置選項(xiàng),使用可以提高很多效率,需要的可以參考一下2022-06-06python實(shí)現(xiàn)簡(jiǎn)單淘寶秒殺功能
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡(jiǎn)單淘寶秒殺功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05利用機(jī)器學(xué)習(xí)預(yù)測(cè)房?jī)r(jià)
這篇文章主要介紹了利用機(jī)器學(xué)習(xí)回歸模型預(yù)測(cè)房?jī)r(jià),解釋清晰,代碼詳細(xì),是很不錯(cuò)的機(jī)器學(xué)習(xí)實(shí)戰(zhàn)演練,對(duì)機(jī)器學(xué)習(xí)感興趣的朋友可以參考一下2021-04-04基于python進(jìn)行桶排序與基數(shù)排序的總結(jié)
今天小編就為大家分享一篇基于python進(jìn)行桶排序與基數(shù)排序的總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05Python 整行讀取文本方法并去掉readlines換行\(zhòng)n操作
這篇文章主要介紹了Python 整行讀取文本方法并去掉readlines換行\(zhòng)n操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09Flask框架通過(guò)Flask_login實(shí)現(xiàn)用戶登錄功能示例
這篇文章主要介紹了Flask框架通過(guò)Flask_login實(shí)現(xiàn)用戶登錄功能,結(jié)合實(shí)例形式較為詳細(xì)的分析了flask框架使用Flask_login實(shí)現(xiàn)用戶登陸功能的具體操作步驟、相關(guān)實(shí)現(xiàn)技巧與操作注意事項(xiàng),需要的朋友可以參考下2018-07-07