




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第八章房產(chǎn)數(shù)據(jù)預(yù)處理“Python數(shù)據(jù)采集與預(yù)處理目錄CONTENTS研究背景和目標(biāo)分析8.1數(shù)據(jù)描述與探索8.2數(shù)據(jù)預(yù)處理8.3學(xué)習(xí)目標(biāo)掌握計(jì)算屬性間相關(guān)性方法掌握對(duì)缺失值數(shù)據(jù)處理方法掌握對(duì)離散數(shù)據(jù)進(jìn)行觀察和處理操作掌握對(duì)非正態(tài)分布數(shù)據(jù)進(jìn)行糾偏操作掌握Box-Cox的變換和反變換操作研究背景和目標(biāo)分析018.1研究背景和目標(biāo)分析研究背景對(duì)于當(dāng)代的年輕人來(lái)說(shuō),尤其是對(duì)剛畢業(yè)的年輕人,租房幾乎成為了一種剛需,然而租房并不是一種長(zhǎng)遠(yuǎn)之策,購(gòu)買屬于自己的房產(chǎn)是更加明智的選擇。因此房產(chǎn)價(jià)格將會(huì)持續(xù)的成為人們關(guān)注的焦點(diǎn),并且針對(duì)房屋價(jià)格的分析和預(yù)測(cè)研究也會(huì)層出不窮。基于以上背景,本講將會(huì)針對(duì)一套完整的國(guó)外房?jī)r(jià)數(shù)據(jù)集進(jìn)行分析并可視化,帶領(lǐng)讀者尋找數(shù)據(jù)中的規(guī)律,探究如何合理構(gòu)造模型將會(huì)用到的特征數(shù)據(jù)。目標(biāo)分析本章中使用的數(shù)據(jù)是來(lái)自kaggle上的國(guó)外房屋價(jià)格公開數(shù)據(jù)集。打開本書配套資料中的房?jī)r(jià)數(shù)據(jù)集csv文件可以看到如圖所示具體的內(nèi)容。8.1研究背景和目標(biāo)分析準(zhǔn)備工作在開始工作之前,我們需要導(dǎo)入所需的Python三方庫(kù),如以下代碼所示。本章的所有工作都在jupyternotebook上完成。importwarnings#過(guò)濾一些不影響代碼運(yùn)行的警告warnings.filterwarnings('ignore')fromscipyimportstatsimportnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib.pyplotasplt#該語(yǔ)句功能是可以內(nèi)嵌繪圖,并可省略plt.show()這一步,但在jupyter中可有可無(wú)%matplotlibinline數(shù)據(jù)描述與探索028.2數(shù)據(jù)描述與探索數(shù)據(jù)讀取讀取后的數(shù)據(jù)展示如圖所示,可以看到數(shù)據(jù)字段非常多,并且具有大量空值,此外“Id”和索引重復(fù),均按序記錄了行數(shù),后面視需求可以選擇刪除。同時(shí)左下角為我們展示了整個(gè)數(shù)據(jù)一共有1460條,每條數(shù)據(jù)有81個(gè)字段。#讀取全部數(shù)據(jù)train_datatrain_data=pd.read_csv('D:/Anaconda3/jupyter_work/house-prices/train.csv',encoding='utf-8')train_data查看列名由于字段太多,為了更加清晰的觀察所有字段,將列名如下單獨(dú)列出,結(jié)果如下圖所示。在如此多的字段中如何提取出重要的信息呢?既然是研究銷售價(jià)格的規(guī)律,則必然要尋找這些字段中哪些和銷售價(jià)格聯(lián)系最緊密,這也是之后預(yù)處理工作中需要完成的目標(biāo)。#顯示所有列名稱train_data.columns查看缺失值在第一個(gè)步驟中我們已經(jīng)初步發(fā)現(xiàn)了數(shù)據(jù)集中存在很多缺失值,但具體是哪些字段具有數(shù)據(jù)缺失需要找出來(lái),方便后續(xù)的預(yù)處理工作。代碼如下所示,缺失值字段如右圖所示。#統(tǒng)計(jì)所有列的缺失值is_null=train_data.isnull().sum()is_null[is_null!=0]8.2數(shù)據(jù)描述與探索查看信息描述使用info()函數(shù)和describe()函數(shù)可以查看Dataframe中的整體描述和數(shù)學(xué)統(tǒng)計(jì)信息。對(duì)整體數(shù)據(jù)使用info()函數(shù)可以看到不同字段內(nèi)容數(shù)據(jù)類型已經(jīng)對(duì)應(yīng),不用再進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換,其部分結(jié)果如左圖所示;對(duì)“SalePrice”字段使用describe()函數(shù)可以看到所有房屋銷售價(jià)格的數(shù)學(xué)統(tǒng)計(jì)結(jié)果,結(jié)果如右圖所示。#查看describe和info信息print(train_data['SalePrice'].describe())print(train_())8.2數(shù)據(jù)描述與探索查看價(jià)格是否正態(tài)分布在機(jī)器學(xué)習(xí)中,許多模型對(duì)具有正態(tài)分布的數(shù)據(jù)訓(xùn)練效果更好,學(xué)習(xí)速度更快,并且正態(tài)分布數(shù)據(jù)的泛化性更高,因?yàn)樽匀唤绾芏嗍挛锏母怕拭芏却蠖嗍钦龖B(tài)分布的。此外從目標(biāo)分布來(lái)說(shuō),非正態(tài)分布會(huì)導(dǎo)致標(biāo)簽數(shù)據(jù)的損失值出現(xiàn)誤導(dǎo),或許結(jié)果看著很小,但實(shí)際結(jié)果很大。尤其在回歸問(wèn)題上,對(duì)正態(tài)分布的數(shù)據(jù)有著較高的要求。檢查目標(biāo)變量是否滿足正態(tài)分布一般有三種常用方法:直方圖、KDE分布圖、Q-Q圖。直方圖和KDE分布圖可以比較直觀的看出數(shù)據(jù)樣本本身的分布特征,推薦使用seaborn中的distplot()函數(shù),它的主要功能是繪制單變量的直方圖,且還可以在直方圖的基礎(chǔ)上加入kdeplot和rugplot的部分內(nèi)容,是一個(gè)功能非常強(qiáng)大且實(shí)用的函數(shù)。Q-Q圖則推薦使用scipy中的proplot()函數(shù)來(lái)繪制。8.2數(shù)據(jù)描述與探索查看價(jià)格是否正態(tài)分布#設(shè)置圖像大小與清晰度plt.figure(figsize=(10,6),dpi=150)#設(shè)置子圖間的間距等條件plt.subplots_adjust(left=None,bottom=None,right=None,top=None,wspace=0.1,hspace=0.4)#繪制第一個(gè)子圖plt.subplot(211)plt.title('PriceDistribution')#銷售價(jià)格的數(shù)量分布曲線sns.distplot(train_data['SalePrice'],hist=True,kde=True,rug=False)#繪制第二個(gè)子圖plt.subplot(212)#繪制Q-Q圖bplot(train_data['SalePrice'],plot=plt)plt.title("PriceDistribution")plt.show()8.2數(shù)據(jù)描述與探索查看價(jià)格是否正態(tài)分布從上面的圖中可以看出,銷售價(jià)格并沒(méi)有嚴(yán)格呈現(xiàn)正態(tài)分布,雖然類似于正態(tài)分布的形狀,但是在圖像右方數(shù)據(jù)有很大的偏度,這種情況稱為偏態(tài)分布。偏態(tài)分布是指頻數(shù)分布不對(duì)稱,集中位置偏向一側(cè)。若集中位置偏向數(shù)值小的一側(cè),稱為正(右)偏態(tài)分布;集中位置偏向數(shù)值大的一側(cè),稱為負(fù)(左)偏態(tài)分布。與正態(tài)分布相對(duì)而言,偏態(tài)分布有兩個(gè)特點(diǎn):①左右不對(duì)稱(即所謂偏態(tài))②當(dāng)樣本增大時(shí),其均數(shù)趨向正態(tài)分布。基于以上特點(diǎn),在后續(xù)的預(yù)處理工作中,則需要調(diào)整目標(biāo)數(shù)據(jù)至正態(tài)分布。8.2數(shù)據(jù)描述與探索數(shù)據(jù)預(yù)處理038.3數(shù)據(jù)預(yù)處理屬性規(guī)約由于數(shù)據(jù)集中數(shù)據(jù)字段數(shù)量過(guò)于龐大,雜亂的屬性特別多,有必要先進(jìn)行合理的數(shù)據(jù)屬性規(guī)約,提取出關(guān)聯(lián)度高,有明顯線性關(guān)系的屬性特征來(lái)進(jìn)行后續(xù)的數(shù)據(jù)預(yù)處理。那么在如此多的屬性字段中如何找尋與銷售價(jià)格高度關(guān)聯(lián),有重要影響作用的屬性呢?我們可以使用關(guān)聯(lián)矩陣來(lái)判斷不同屬性間的關(guān)聯(lián)性,而關(guān)聯(lián)矩陣可以使用熱度圖(Heatmap)來(lái)表達(dá)各個(gè)特征之間的關(guān)聯(lián)程度。繪制熱度圖一般使用seaborn中的heatmap()函數(shù),而我們的繪制依據(jù)是數(shù)據(jù)相關(guān)性分析中常用到的corr()函數(shù),該函數(shù)計(jì)算了不同變量之間的相關(guān)性,取值范圍為[-1,1],取值接近-1,表示反相關(guān),類似反比例函數(shù),取值接近1,表正相關(guān)。函數(shù)默認(rèn)使用皮爾遜(Pearson)標(biāo)準(zhǔn)相關(guān)系數(shù)來(lái)進(jìn)行相關(guān)系數(shù)的計(jì)算。此外,由于特征字段過(guò)多,我們繪圖時(shí)提前做出篩選,只展示前十個(gè)由最高相關(guān)性的特征。使用nlargest()函數(shù)可以指定以某列為基準(zhǔn)以降序方式返回前n個(gè)最大值的列,我們利用其來(lái)顯示和SalePrice高度相關(guān)的十個(gè)特征所共同構(gòu)成的關(guān)系矩陣。屬性規(guī)約k=10#關(guān)系矩陣中將顯示10個(gè)特征plt.figure(figsize=(7,7),dpi=100)corrmat=train_data.corr()#計(jì)算相關(guān)系數(shù)#顯示和saleprice相近的十個(gè)關(guān)系變量矩陣,#nlargest()是輸出最大相關(guān)排序,排完了之后選取salprice列的索引cols=corrmat.nlargest(k,'SalePrice')['SalePrice'].index#根據(jù)排好序的cols來(lái)生成Pearson相關(guān)系數(shù)矩陣cm=np.corrcoef(train_data[cols].values.T)sns.set(font_scale=1.25)#繪制熱力圖hm=sns.heatmap(cm,cbar=True,annot=True,square=True,fmt='.2f',annot_kws={'size':10},yticklabels=cols.values,xticklabels=cols.values)plt.show()8.3數(shù)據(jù)預(yù)處理屬性規(guī)約8.3數(shù)據(jù)預(yù)處理利用前面的操作我們獲得了十個(gè)與銷售價(jià)格SalePrice最相關(guān)的特征,將這十個(gè)特征與SalePrice的相關(guān)性以水平條形圖繪制出,在DataFrame的plot()函數(shù)中設(shè)置kind參數(shù)為barh既可以調(diào)整繪制的水平條形圖,繪制結(jié)果如所示,代碼如下所示。plt.figure(figsize=(12,6),dpi=150)#計(jì)算相關(guān)系數(shù)矩陣后進(jìn)行排序,在排好序的結(jié)果基礎(chǔ)上進(jìn)行繪圖train_data.corr()['SalePrice'][cols].sort_values(ascending=False).plot(kind='barh',figsize=(12,6),title='VariableCorrelationwithSalePrice')屬性規(guī)約8.3數(shù)據(jù)預(yù)處理為了進(jìn)一步縮小特征變量的范圍,通過(guò)觀察上圖,決定保留相關(guān)性在0.6以上的屬性。所以最終所選取的特征為:SalePrice(銷售價(jià)格)、OverallQual(房屋整體材料和質(zhì)量)、GrLivArea(可居住面積)、GarageCars(車庫(kù)可容納車輛)、GarageArea(車庫(kù)面積)、TotalBsmtSF(全部地下室面積)、1stFlrSF(一樓面積大小)。#選取前七個(gè)與銷售價(jià)格相關(guān)性最高的字段(包括了SalePrice)feature_data=train_data[cols[:7]]feature_data缺失值處理8.3數(shù)據(jù)預(yù)處理在本章中針對(duì)于重復(fù)值本數(shù)據(jù)集不進(jìn)行處理,因?yàn)椴煌诳蛻粜畔⒌阮愋偷臄?shù)據(jù),房屋信息允許有重復(fù)值的出現(xiàn)。對(duì)缺失值進(jìn)行處理我們使用代碼檢查屬性規(guī)約中提取出的特征列,發(fā)現(xiàn)沒(méi)有數(shù)據(jù)缺失,這從某種層面上也證明了所選取特征的重要性。(往往越不重要的屬性字段會(huì)出現(xiàn)越多的缺失值)為了作為示例,我們針對(duì)其他有代表性的列進(jìn)行缺失值填充。通過(guò)代碼觀察下數(shù)據(jù)集中的數(shù)據(jù)缺失情況。#統(tǒng)計(jì)train_data中的缺失值train_data[cols].isnull().sum()#統(tǒng)計(jì)所有列缺失值并排序total=train_data.isnull().sum().sort_values(ascending=False)#計(jì)算缺失比率percent=(train_data.isnull().sum()/train_data.isnull().count())\.sort_values(ascending=False)missing_data=pd.concat([total,percent],axis=1,keys=['Total','Percent'])missing_data.head(15)缺失值處理8.3數(shù)據(jù)預(yù)處理從右圖數(shù)據(jù)中可以看到,前五行所展示的屬性列中缺失值都達(dá)到了15%以上,則這五列字段完全可以視作無(wú)效數(shù)據(jù)刪除。針對(duì)其他缺失數(shù)據(jù)列,主要分三種情況填充,分別為中位數(shù)填充、眾數(shù)填充、None值填充。以LotFrontage(到街道的距離)為例,我們選擇使用中位數(shù)填充而不用均值,因?yàn)槟承┍容^大或比較小的特殊值可能會(huì)使均值無(wú)法更好地反映平均數(shù)值,所以這里選用中位數(shù)更加好。以GarageType(車庫(kù)類型)和MasVnrArea(砌體面積)為例,這兩個(gè)字段在實(shí)際情境中確實(shí)可能是沒(méi)有內(nèi)容或者是難以統(tǒng)計(jì),所以在不曲解原數(shù)據(jù)的原則上我們可以根據(jù)實(shí)際情況補(bǔ)全None或0值。以Electrical(電力系統(tǒng))和KitchenQual(廚房品質(zhì))為例,這兩個(gè)字段代表內(nèi)容在實(shí)際住房情景中都是不可或缺且方便統(tǒng)計(jì)的,并且和前面的街道距離所不同的是,這兩個(gè)字段內(nèi)容都是離散的選項(xiàng),并非分布具有連續(xù)性的數(shù)值,所以不能使用中位數(shù)或者均值,而應(yīng)該使用眾數(shù)來(lái)填充。缺失值處理8.3數(shù)據(jù)預(yù)處理以上情況填充代碼如下:#到街道的距離train_data['LotFrontage']=train_data.groupby('Neighborhood')['LotFrontage'].transform(lambdax:x.fillna(x.median()))#車庫(kù)和砌體部分字段train_data['GarageType']=train_data['GarageType'].fillna('None')train_data['MasVnrArea']=train_data['MasVnrArea'].fillna(0)#電力系統(tǒng)和廚房品質(zhì)train_data['Electrical']=train_data['Electrical'].fillna(train_data['Electrical'].mode()[0])train_data['KitchenQual']=train_data['KitchenQual'].fillna(train_data['KitchenQual'].mode()[0])異常值處理8.3數(shù)據(jù)預(yù)處理針對(duì)異常值的處理,我們使用直方圖和散點(diǎn)圖來(lái)結(jié)合觀察。首先繪制所選的特征列的直方統(tǒng)計(jì)圖。從圖中我們可以看到,與銷售價(jià)格相關(guān)的六個(gè)特征中,除了離散型分布的變量外,連續(xù)型分布的數(shù)據(jù)中都存在著小部分的離群點(diǎn),這些離群點(diǎn)由于過(guò)于偏離而可以被視作異常值刪除。其次,具體應(yīng)不應(yīng)該刪除或是要如何刪除這些離群點(diǎn),我們還需要繪制散點(diǎn)圖,以此來(lái)更加詳細(xì)的觀察數(shù)據(jù)特點(diǎn)。#選取除SalePrice以外的所有列來(lái)繪制直方圖feature_data.iloc[:,1:].hist(figsize=(20,15),bins=50,grid=False,color='red')plt.show()異常值處理8.3數(shù)據(jù)預(yù)處理直方圖繪制結(jié)果。異常值處理8.3數(shù)據(jù)預(yù)處理plt.figure(figsize=(14,10),dpi=200)plt.subplots_adjust(left=None,bottom=None,right=None,top=None,wspace=0.3,hspace=0.3)#繪制第一個(gè)散點(diǎn)子圖plt.subplot(221)plt.scatter(x=train_data['GrLivArea'],y=train_data['SalePrice'],color='red',edgecolor='black')plt.title('GrLivArea',fontsize=15)#繪制第二個(gè)散點(diǎn)子圖plt.subplot(222)plt.scatter(x=train_data['1stFlrSF'],y=train_data['SalePrice'],color='green',edgecolor='black')plt.title('1stFlrSF',fontsize=15)異常值處理8.3數(shù)據(jù)預(yù)處理#繪制第三個(gè)散點(diǎn)子圖plt.subplot(223)plt.scatter(x=train_data['GarageArea'],y=train_data['SalePrice'],color='yellow',edgecolor='black')plt.title('GarageArea',fontsize=15)#繪制第四個(gè)散點(diǎn)子圖plt.subplot(224)plt.scatter(x=train_data['TotalBsmtSF'],y=train_data['SalePrice'],color='blue',edgecolor='black')plt.title('TotalBsmtSF',fontsize=15)plt.show()異常值處理8.3數(shù)據(jù)預(yù)處理通過(guò)觀察散點(diǎn)圖的的分布情況,可以看到GrLivArea與1stFlrSF在大于4000處都有明顯的離群點(diǎn),我們可以將其刪去;GarageArea和TotalBsmtSF分別在大于1200和4000處有離群點(diǎn),可以將其刪除。刪除前和刪除后的散點(diǎn)圖,分別如左圖和右圖所示。數(shù)據(jù)轉(zhuǎn)換8.3數(shù)據(jù)預(yù)處理由前面小節(jié)中的內(nèi)容可以知道,我們的目標(biāo)數(shù)據(jù)并不服從完全的正態(tài)分布,而是一種具有偏尾的偏態(tài)分布。為了解決這一問(wèn)題,從而將SalePrice數(shù)據(jù)映射為正態(tài)分布,需要利用函數(shù)變換的手段來(lái)調(diào)整數(shù)據(jù),進(jìn)行目標(biāo)數(shù)據(jù)糾偏。廣義上說(shuō),如果我們有一個(gè)樣本量為n的樣本yi(i=1,2,3,…,n),數(shù)據(jù)變換指的就是選擇某個(gè)函數(shù)f(x),將其作用在樣本上,得到新的樣本f(yi)的過(guò)程。在本節(jié)中,我們的變換函數(shù)的任務(wù)就是要把樣本分布偏出來(lái)的“尾巴”給縮回去。數(shù)據(jù)轉(zhuǎn)換8.3數(shù)據(jù)預(yù)處理在Pandas中有skew()方法來(lái)表示偏態(tài),大于0右偏,小于0左偏。在pandas中使用kurtosis()方法來(lái)表示峰度,kurtosis>0,尖峰態(tài)(leptokurtic),數(shù)據(jù)集比較分散,極端數(shù)值較多。kurtosis<0,低峰態(tài)(platykurtic),數(shù)據(jù)集比較集中,兩側(cè)的數(shù)據(jù)比較少。下面代碼計(jì)算了偏態(tài)和峰度,結(jié)果偏度Skewness為1.882876,峰度Kurtosis為6.536282。由此可見(jiàn)目標(biāo)數(shù)據(jù)右偏,并且為尖峰態(tài)。#計(jì)算偏態(tài)和峰度print("Skewness:%f"%train_data['SalePrice'].skew())print("Kurtosis:%f"%train_data['SalePrice'].kurt())數(shù)據(jù)轉(zhuǎn)換8.3數(shù)據(jù)預(yù)處理通常來(lái)說(shuō),可以嘗試一下幾種方法:(1)如果數(shù)據(jù)高度偏態(tài),則使用對(duì)數(shù)變換。①對(duì)數(shù)變換,即將原始數(shù)據(jù)X的對(duì)數(shù)值作為新的分布數(shù)據(jù):x=np.log(x)②當(dāng)原始數(shù)據(jù)中有小值及零時(shí):x=np.log1p(x)(2)如果數(shù)據(jù)輕度偏態(tài),則使用平方根變換。①平方根變換,即將原始數(shù)據(jù)X的平方根作為新的分布數(shù)據(jù):x=np.sqrt(x)(3)如果數(shù)據(jù)的兩端波動(dòng)較大,則使用倒數(shù)變換。①倒數(shù)變換,即將原始數(shù)據(jù)X的倒數(shù)作為新的分析數(shù)據(jù):x=1/x數(shù)據(jù)轉(zhuǎn)換8.3數(shù)據(jù)預(yù)處理在本節(jié)中針對(duì)目標(biāo)數(shù)據(jù)采用對(duì)數(shù)變換,使用np.log1p()函數(shù)來(lái)進(jìn)行變換,將變換后的目標(biāo)數(shù)據(jù)再次繪制直方圖和Q-Q圖,結(jié)果如下圖所示,可以看到數(shù)據(jù)基本上服從正態(tài)分布。數(shù)據(jù)轉(zhuǎn)換8.3數(shù)據(jù)預(yù)處理此外我們還可以使用Box-Cox變換來(lái)自動(dòng)的進(jìn)行數(shù)據(jù)轉(zhuǎn)換。Box-Cox變換是Box和Cox在1964年提出的一種廣義冪變換方法,是統(tǒng)計(jì)建模中常用的一種數(shù)據(jù)變換,用于連續(xù)的響應(yīng)變量不滿足正態(tài)分布的情況。Box-Cox變換之后,可以一定程度上減小不可觀測(cè)的誤差和預(yù)測(cè)變量的相關(guān)性。Box-Cox變換的主要特點(diǎn)是引入一個(gè)參數(shù),通過(guò)數(shù)據(jù)本身估計(jì)該參數(shù)進(jìn)而確定應(yīng)采取的數(shù)據(jù)變換形式。Box-Cox變換可以明顯地改善數(shù)據(jù)的正態(tài)性、對(duì)稱性和方差相等性,對(duì)許多實(shí)際數(shù)據(jù)都是行之有效的。Box-Cox變換的目標(biāo)有兩個(gè):一個(gè)是變換后,可以一定程度上減小不可觀測(cè)的誤差和預(yù)測(cè)變量的相關(guān)性。主要操作是對(duì)因變量轉(zhuǎn)換,使得變換后的因變量于回歸自變量具有線性相依關(guān)系,誤差也服從正態(tài)分布,誤差各分量是等方差且相互獨(dú)立;第二個(gè)是用這個(gè)變換來(lái)使得因變量獲得一些性質(zhì),比如在時(shí)間序列分析中的平穩(wěn)性,或者使得因變量分布為正態(tài)分布。數(shù)據(jù)轉(zhuǎn)換8.3數(shù)據(jù)預(yù)處理在Python中我們可以使用scipy中的special模塊的boxcox()函數(shù)來(lái)進(jìn)行Box-Cox變換,或者是stats模塊中的boxcox()函數(shù)來(lái)進(jìn)行變換,二者區(qū)別在于前者需要人為指定Box-Cox變換中的lambda值,而后者包含了Box-Cox中的lambda計(jì)算(即不需要給函數(shù)boxcox輸入?yún)?shù)lambda,boxcox()函數(shù)的返回值中就有l(wèi)ambda),我們采用后者來(lái)計(jì)算,其格式為:y,lambda0=boxcox(x,lmbda=None,alpha=None)在本章中的使用代碼如下。使用stats.boxcox()函數(shù)來(lái)對(duì)數(shù)據(jù)進(jìn)行變換,返回變換后的目標(biāo)數(shù)據(jù)結(jié)果和λ值,λ的值為-0.07692391328663316。#進(jìn)行Box-Cox變換train_data.SalePrice,lambda_=stats.boxcox(train_data.SalePrice)print(lambda_)數(shù)據(jù)轉(zhuǎn)換8.3數(shù)據(jù)預(yù)處理使用變換后的數(shù)據(jù)繪制出直方圖和Q-Q圖,并且計(jì)算出Skewness和Kurtosis。從結(jié)果中可以看到,在橫坐標(biāo)值為3的區(qū)域附近,Box-Cox轉(zhuǎn)換的效果比自己選擇轉(zhuǎn)換函數(shù)手動(dòng)轉(zhuǎn)換的效果要更好。#再次觀察SalePriceplt.figure(figsize=(10,6),dpi=150)plt.subplots_adjust(left=None,bottom=None,right=None,top=None,wspace=0.1,hspace=0.5)#第一個(gè)子圖#直方圖plt.subplot(2,1,1)sns.distplot(train['SalePrice'],fit=stats.norm)(mu,sigma)=stats.norm.fit(train['SalePrice'])plt
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 陶瓷工藝品的室內(nèi)景觀設(shè)計(jì)創(chuàng)新趨勢(shì)考核試卷
- 核電施工項(xiàng)目質(zhì)量管理小組活動(dòng)效果考核試卷
- 腹式呼吸護(hù)理技術(shù)規(guī)范
- Vela呼吸機(jī)使用操作教學(xué)
- 膿毒癥急救與護(hù)理
- Kibdelin-A-生命科學(xué)試劑-MCE
- 超神數(shù)學(xué)-高考數(shù)學(xué)總復(fù)習(xí)基礎(chǔ)篇(一輪)(練習(xí)冊(cè))專題04基本不等式(含答案或解析)
- 新能源二手車市場(chǎng)2025年評(píng)估體系構(gòu)建與流通模式創(chuàng)新趨勢(shì)報(bào)告
- 面向2025年的汽車行業(yè)供應(yīng)鏈風(fēng)險(xiǎn)管理技術(shù)創(chuàng)新與韌性提升報(bào)告
- 2025年教育培訓(xùn)行業(yè)品牌建設(shè)與品牌影響力提升策略研究報(bào)告
- 腹腔穿刺術(shù)教學(xué)課件
- 岳母大人追悼詞
- 部編版一年級(jí)下冊(cè)語(yǔ)文全冊(cè)總復(fù)習(xí)課件(超全)
- JJF 1033-2016 《計(jì)量標(biāo)準(zhǔn)考核規(guī)范》宣貫資料
- 企業(yè)通訊員新聞寫作培訓(xùn)
- 《W公司銷售員工培訓(xùn)問(wèn)題與對(duì)策研究(論文)》
- 長(zhǎng)輸管道工程施工組織設(shè)計(jì)
- 最新2022年監(jiān)理工程旁站及平行檢驗(yàn)項(xiàng)目列表
- 第五單元 曲苑尋珍 丑末寅初 課件(共16張PPT)
- T_CSMPTE 11-2021 電視節(jié)目圖像質(zhì)量主觀評(píng)價(jià)方法
- 公司工程項(xiàng)目變更索賠組織機(jī)構(gòu)及工作職責(zé)
評(píng)論
0/150
提交評(píng)論