背景介紹:
這個(gè)比賽總的情況就是給你79個(gè)特征然后根據(jù)這些預(yù)測(cè)房?jī)r(jià)(SalePrice),難點(diǎn)在于特征很多教翩,且存在大量的缺失值。kaggle提供的data_description.txt這個(gè)文件稿辙,里面對(duì)各個(gè)特征的含義進(jìn)行了描述授嘀,對(duì)處理缺失值有很大的幫助
一、認(rèn)識(shí)數(shù)據(jù)
House Price 數(shù)據(jù)集分為train和test數(shù)據(jù)诫钓。訓(xùn)練集含有1460個(gè)樣本浓冒,80個(gè)屬性,一個(gè)標(biāo)簽(SalePrice)尖坤。測(cè)試集很有1459個(gè)樣本,80個(gè)屬性闲擦。sample_submission則是最終上傳到kaggle的預(yù)測(cè)結(jié)果慢味。
二、EDA
首先導(dǎo)入包墅冷,探索一下測(cè)試集的情況纯路。
屬性的意義
* MSSubClass:建筑類(lèi)
* mszoning:一般的分區(qū)分類(lèi)
* LotFrontage:街道連接屬性線性英尺
* LotArea:平方英尺批量
* 街道:道路通行方式
* 小巷:通道入口的類(lèi)型
* LotShape:財(cái)產(chǎn)的形狀
* LandContour:財(cái)產(chǎn)的平整度
* 實(shí)用程序:可用的實(shí)用程序類(lèi)型
* LotConfig:很多配置
* LandSlope:坡的財(cái)產(chǎn)
* 鄰近:Ames市區(qū)范圍內(nèi)的物理位置
* 狀態(tài):鄰近主要道路或鐵路
* 條件:靠近主要道路或鐵路(如果第二存在)
* BldgType:住宅類(lèi)型
* housestyle:風(fēng)格的住宅
* overallqual:整體材料和完成質(zhì)量
* overallcond:總體狀況評(píng)價(jià)
* yearbuilt:原施工日期
* yearremodadd:重塑日期
* RoofStyle:屋頂類(lèi)型
* RoofMatl:屋面材料
* exterior1st:外部覆蓋的房子
* exterior2nd:外部覆蓋的房子(如果有一個(gè)以上的材料)
* MasVnrType:砌體飾面型
* masvnrarea:砌體飾面面積平方英尺
* exterqual:外部材料質(zhì)量
* extercond:在外部的物質(zhì)條件
* 基金會(huì):基金會(huì)的類(lèi)型
* BsmtQual:地下室的高度
* bsmtcond:地下室的一般條件
* BsmtExposure:罷工或花園層地下室墻
* bsmtfintype1:質(zhì)量基底成品區(qū)
* bsmtfinsf1:型完成1平方英尺
* bsmtfintype2:質(zhì)量第二成品區(qū)(如果有的話)
* bsmtfinsf2:型完成2平方英尺
* BsmtUnfSF:未完成的平方英尺的地下室
* totalbsmtsf:地下室面積總平方英尺
* 加熱:加熱類(lèi)型
* heatingqc:加熱質(zhì)量和條件
* 中央:中央空調(diào)
* 電氣:電氣系統(tǒng)
* 1stflrsf:一樓平方英尺
* 2ndflrsf:二樓平方英尺
* lowqualfinsf:完成平方英尺Low質(zhì)量(各樓層)
* grlivarea:以上等級(jí)(地)居住面積平方英尺
* BsmtFullBath: Basement full bathrooms
* BsmtHalfBath:地下室半浴室
* FullBath:完整的浴室級(jí)以上
* HalfBath:半浴室級(jí)以上
* 臥室:高于地下室的臥室數(shù)
* 廚房:廚房數(shù)量
* kitchenqual:廚房的品質(zhì)
* totrmsabvgrd:房間總級(jí)以上(不包括衛(wèi)生間)
* 功能:家庭功能評(píng)級(jí)
* 一些壁爐壁爐:
* fireplacequ:壁爐質(zhì)量
* GarageType:車(chē)庫(kù)位置
* GarageYrBlt:建立年車(chē)庫(kù)
* GarageFinish:車(chē)庫(kù)的室內(nèi)裝修
* GarageCars:在汽車(chē)車(chē)庫(kù)大小的能力
* GarageArea:在平方英尺的車(chē)庫(kù)規(guī)模
* GarageQual:車(chē)庫(kù)質(zhì)量
* garagecond:車(chē)庫(kù)條件
* paveddrive:鋪的車(chē)道
* WoodDeckSF:平方英尺的木甲板面積
* openporchsf:平方英尺打開(kāi)陽(yáng)臺(tái)的面積
* enclosedporch:封閉式陽(yáng)臺(tái)的面積以平方英尺
* 3ssnporch:平方英尺三季陽(yáng)臺(tái)的面積
* screenporch:平方英尺紗窗門(mén)廊區(qū)
* PoolArea:在平方英尺的游泳池
* poolqc:池質(zhì)量
* 柵欄:柵欄的質(zhì)量
* miscfeature:雜項(xiàng)功能在其他類(lèi)未包括
* miscval:$雜特征值
* MoSold:月銷(xiāo)售
* YrSold:年銷(xiāo)售
* SaleType:銷(xiāo)售類(lèi)型
* salecondition:銷(xiāo)售條件
目標(biāo)值Saleprice 房?jī)r(jià)的情況。
房?jī)r(jià)是否滿足正態(tài)分布
看起來(lái)有些右偏寞忿,右邊有長(zhǎng)尾驰唬,等下再做處理。
居住面積與房?jī)r(jià)的關(guān)系
地下室面積與房?jī)r(jià)的關(guān)系
材料飾面質(zhì)量與房?jī)r(jià)的關(guān)系
年份與房?jī)r(jià)關(guān)系
看看相關(guān)性腔彰,哪些和價(jià)格最相關(guān)
三叫编、數(shù)據(jù)清洗
首先把測(cè)試集和訓(xùn)練集讀進(jìn)來(lái)
首先來(lái)處理之前的離群點(diǎn)
現(xiàn)在分布看上去正常多了
首先觀察下saleprice的分布
觀察分布圖和qq圖明顯看出有些右偏,需要去處理霹抛。
我們選用對(duì)數(shù)變換來(lái)處理搓逾。log(1+x)
可以看出僅做了個(gè)對(duì)數(shù)變化,分布變得符合了正態(tài)分布杯拐。
去掉ID和目標(biāo)
觀察缺失值情況
處理缺失值
缺失值就大致被處理好了霞篡。
四世蔗、特征工程
有些特征并不是連續(xù)值,來(lái)把他做成類(lèi)別值
觀察發(fā)現(xiàn)utilities這個(gè)值基本沒(méi)用
接下里用labelencoder進(jìn)行標(biāo)簽映射
檢查特征的偏度
有些偏度還挺大的
用box-cox變換來(lái)處理朗兵,參考資料選取0.15為經(jīng)驗(yàn)值
最后進(jìn)行one-hot 編碼
五污淋、建模對(duì)比
評(píng)價(jià)指標(biāo)是均方根誤差(RMSE)
這里選用robustscaler來(lái)級(jí)聯(lián)起來(lái)先處理
中間用gridsearch測(cè)試出了參數(shù)取值
用stacking模型
選取ENet,Gboost余掖,KRR作為第一層模型寸爆,lasso作為第二層模型。
做成上交的格式
排名在前15%左右浊吏,后續(xù)再慢慢改進(jìn)而昨。