天天看點

DC學院學習筆記(二十二):用scikit-learn實作資料挖掘模組化全過程一、探索型資料分析二、預測型資料分析

大年初四了,哈哈,年快過完了,這套DC學院的《資料分析》課程也快要KO了( ̄︶ ̄)↗ 

Id

MSSubClass

MSZoning

LotFrontage

LotArea

Street

Alley

LotShape

LandContour

Utilities

...

PoolArea

PoolQC

Fence

MiscFeature

MiscVal

MoSold

YrSold

SaleType

SaleCondition

SalePrice

1

60

RL

65.0

8450

Pave

NaN

Reg

Lvl

AllPub

2

2008

WD

Normal

208500

20

80.0

9600

5

2007

181500

3

68.0

11250

IR1

9

223500

4

70

9550

2006

Abnorml

140000

84.0

14260

12

250000

5 rows × 81 columns

注意:

這裡使用%matpoltlib notebook将繪制的圖檔内嵌在互動視窗,并且可以友善進一步操作和儲存(新繪制另一張圖形的時候需要首先點選關閉上一張圖形)

屬性的詳細說明在檔案中了,這裡省略。

房屋價格對應的屬性是’SalePrice’

可以從圖中看到,SalePrice的分布圖大緻服從右偏态分布,平均數大于中位數

大部分房屋價格在100000到300000之間

有少量的房屋價格大于500000

居住面積對應的屬性是’GrLivArea’

大部分房屋的居住面積在800到2000之間

有少量的房屋居住面積大于4000

地下室面積對應的屬性是’TotalBsmtSF’

有一部分的房屋地下室面積為0,也就是沒有地下室

可以使用seaborn的regplot方法,探索探索兩個連續型變量之間的相關性。

從代碼生成的圖中可以看到,GrLivArea和SalePrice呈現明顯的正相關關系

從代碼生成的圖中可以看到,TotalBsmtSF和SalePrice呈現明顯的正相關關系

可以使用seaborn的boxplot方法,探索離散型變量和連續型變量之間的相關性。

使用regplot繪制OverallQual和SalePrice之間的關系,比較跟boxplot的差別

從housing_df資料框中挑選出SalePrice,GrLivArea,TotalBsmtSF,GarageArea,YearBuilt,OverallQual等屬性,計算這些屬性之間的相關系數矩陣,并使用seaborn的heatmap方法繪制相關系數矩陣熱力圖,可以快速并且直覺地探索出與SalePrice相關的屬性。

從代碼生成的熱力圖可以看出,SalePrice跟OverallQual的相關性最高,相關系數為0.79,SalePrice跟YearBuilt的相關性最低,相關系數為0.52

首先使用探索型資料分析方法,探索出跟預測目标相關的特征

對相關的特征進行資料處理使其更加符合資料模組化的要求

特征挑選應該同時注重模型的準确率和可解釋性

可以看到,随機森林還是效果好一些的。

可以根據資料集原來的特征,建立新的對于預測目标有幫助的新特征,用于得到更好的效果。

比如建立“有沒有地下室”這個新的屬性(因為之前在探索性資料分析看到地下室面積為零也占很大比例,且房價也有很大的波動)

根據特征’TotalBsmtSF’建立一個新特征’HasBsmt’,也就是房屋是否有地下室。當’TotalBsmtSF’為0時’HasBsmt’為0,當’TotalBsmtSF’大于0時’HasBsmt’為1

根據特征’GrLivArea’建立一個新特征’LogArea’,也就是取特征’GrLivArea’的對數,縮小特征’GrLivArea’之間的差異

可以看到新特征對預測的效果有一定的幫助,其效果跟不同模型的内在機制存在一定的關系