房价预测1

数据集:https://www.kaggle.com/c/house-prices-advanced-regression-techniques/data

 

参考:

https://blog.csdn.net/u012063773/article/details/79349256

https://www.jianshu.com/p/62716b33e7be

https://zhuanlan.zhihu.com/p/77306845

https://segmentfault.com/a/1190000015613967

 

字段:(字段下的具体分类因为太多了就不写了

MSSubClass:参与销售的住宅类型 包含层数、年份等

MSZoning:一般分区分类 农业、商业、工业、住宅密度等等

LotFrontage:连接到房子的街道的直线距离

LotArea:地块面积(?)

Street:通往房子的道路类型

Alley:通往房子的小巷类型

LotShape:属性(?)

LandContour:场地平整度

Utilities:可使用的设施

LotConfig:地段

LandSlope: 坡度

Neighborhood:实际位置 附近地点

Condition1:条件1

Condition2:条件2

BldgType:住宅类型

HouseStyle:住宅风格

OverallQual:评估房屋的整体材料和装饰

OverallCond:评估房子的整体状况

YearBuilt:建造日期

YearRemodAdd:改建日期

RoofStyle:屋顶样式

RoofMatl:屋顶材料

Exterior1st:房屋外部覆盖物1

Exterior2nd:房屋外部覆盖物2

MasVnrType:砌砖类型

MasVnrArea:砖石面积

ExterQual:评估外部材料的质量

ExterCond:评估外部材料的现状

Foundation:住宅基础类型

BsmtQual:地下室高度

BsmtCond:评估地下室的状况

BsmtExposure:室外或花园曝光水平

BsmtFinType1:地下室完工区域的等级

BsmtFinSF1:type1成品的平方

BsmtFinType2:地下室完工区域的等级2

BsmtFinSF2::type2成品的平方

BsmtUnfSF:地下室未完工的平方面积

TotalBsmtSF:地下室总面积

Heating:住宅加热类型

HeatingQC:加热水平

CentralAir:是否为中央空调

Electrical:电气系统类型

1stFlrSF:一楼面积

2ndFlrSF:二楼面积

LowQualFinSF:低质量成品面积(所有楼层)(?)

GrLivArea:地上生活面积

BsmtFullBath:地下全浴室

BsmtHalfBath:地下半浴室

FullBath:地上全浴室

HalfBath:地上半浴室

Bedroom:地上卧室(不包括地下室浴室)

Kitchen:地上厨房

KitchenQual:厨房质量

TotRmsAbvGrd:地上总房间(不包括浴室)

Functional:家庭功能性保存程度

Fireplaces:壁炉数量

FireplaceQu:壁炉质量

GarageType:车库位置

GarageYrBlt:车库建造年份

GarageFinish:车库内部装饰

GarageCars:车库车容量大小

GarageArea:车库面积

GarageQual:车库质量

GarageCond:车库条件

PavedDrive:车道铺砌方式

WoodDeckSF:木质甲板面积

OpenPorchSF:开放式门廊面积

EnclosedPorch:封闭门廊面积

3SsnPorch:三季门廊面积

ScreenPorch:屏风廊面积

PoolArea:游泳池面积

PoolQC:游泳池质量

Fence:围栏质量

MiscFeature:未包含的其他功能

MiscVal:其他功能的质量

MoSold:售出月份

YrSold:售出年份

SaleType:销售类型

SaleCondition:销售条件

真的太多了我昏迷……但是这样整出来又比较方便我之后看

 

本来今天打算照常把体力清完以后在出门前把昨晚的分析整理一下

但是今天大奥开了 每关都1ap5ap的 体力清了好久 鹅且我还快升级了

我真的好着急.jpg

 

有很多跟以前重复或者可复用的代码就不贴啦

 

数据清洗

想查看缺失值的时候 字段太多了显示不全

显示全部行:

pd.set_option('max_row',300)

 

热力图

#选择影响销售价格相关性最高的前10个字段 再针对性进行缺失值处理
k = 11
plt.figure(figsize=(12,9))
corrmat = train.corr()
cols = corrmat.nlargest(k,'SalePrice')['SalePrice'].index
cm = np.corrcoef(train[cols].values.T)
sns.set(font_scale=1.25)
hm = sns.heatmap(cm,cbar=True,annot=True,square=True,fmt='.2f',annot_kws={'size':11},yticklabels=cols.values,xticklabels=cols.values)
plt.show()

数字型相关性前十:
OverallQual 评估房屋的整体材料和装饰
GrLivArea 地上生活面积
GarageCars 车库车容量大小
GarageArea 车库面积
TotalBsmtSF 地下室总面积
1stFlrSF 一楼面积
FullBath 地上全浴室
TotRmsAbvGrd 地上总房间(不包括浴室)
YearBuilt 建造年份
YearRemodAdd 改建日期

 

取出指定列

full_1 = pd.DataFrame(full,columns=['OverallQual','GrLivArea','GarageCars','GarageArea','TotalBsmtSF','1stFlrSF','FullBath','TotRmsAbvGrd','YearBuilt','YearRemodAdd'])

 

缺失值统计

full_1.isnull().sum()

直接用平均值补上了【后来想想会不会有的是无地下室or无车库 不过就一行

#GarageCars 车库车容量大小
full_1['GarageCars'] = full_1['GarageCars'].fillna(full_1['GarageCars'].mean())
#GarageArea 车库面积
full_1['GarageArea'] = full_1['GarageArea'].fillna(int(full_1['GarageArea'].mean()))
#TotalBsmtSF 地下室总面积
full_1['TotalBsmtSF'] = full_1['TotalBsmtSF'].fillna(int(full_1['TotalBsmtSF'].mean()))

 

根据每个字段的意思 挑选出可能比较有用的字段进行查看&缺失值处理 基本都是看情况填成最常见类别or均值or0

查看分类统计

full['SaleCondition'].value_counts()

LotFrontage 房子到街道的直线距离

使用多项式拟合填充

x = full.loc[full['LotFrontage'].notnull(),'LotArea']
y = full.loc[full['LotFrontage'].notnull(),'LotFrontage']
t = (x<=25000) & (y<=150)
p = np.polyfit(x[t],y[t],1)
full.loc[full['LotFrontage'].isnull(),'LotFrontage'] = \
np.polyval(p,full.loc[full['LotFrontage'].isnull(),'LotArea'])

MSZoning 分区分类

只有4个空值 填成最常见的类别

A    Agriculture 农业区
C    Commercial 商业区
FV    Floating Village Residential 流动村住宅
I    Industrial 工业区
RH    Residential High Density 高密度住宅区
RL    Residential Low Density 低密度住宅区
RP    Residential Low Density Park 低密度公园住宅(?)
RM    Residential Medium Density 中密度住宅区

full['MSZoning'] = full['MSZoning'].fillna('RL')

Utilities 可使用的设施

基本都是allpub 只有几个不一样

AllPub    All public Utilities (E,G,W,& S)  所有公共设施 
NoSewr    Electricity, Gas, and Water (Septic Tank) 电气水
NoSeWa    Electricity and Gas Only 只有电气
ELO    Electricity only 只有电

Neighborhood 实际位置

无空值 但取值很多 附近地标建筑

OverallCond 房子整体状况

无空值 1-9的打分

BldgType 住宅类型

无空值

1Fam    Single-family Detached  单一家庭
2FmCon    Two-family Conversion; originally built as one-family dwelling 两个家庭 最初以一个家庭的标准建造
Duplx    Duplex 复式
TwnhsE    Townhouse End Unit 联排别墅末端单元
TwnhsI    Townhouse Inside Unit 单元内联排别墅

HouseStyle 住宅风格

无空值

1Story    One story
1.5Fin    One and one-half story: 2nd level finished
1.5Unf    One and one-half story: 2nd level unfinished
2Story    Two story
2.5Fin    Two and one-half story: 2nd level finished
2.5Unf    Two and one-half story: 2nd level unfinished
SFoyer    Split Foyer
SLvl    Split Level

Foundation 我猜是地基类型

无空值

BrkTil    Brick & Tile 砖瓦
CBlock    Cinder Block 煤渣块
PConc    Poured Contrete 灌注混凝土
Slab    Slab 厚板
Stone    Stone 石头
Wood    Wood 木头

BsmtCond评估地下室的状况

Ex    Excellent 极好
Gd    Good 挺好
TA    Typical - slight dampness allowed 一般 允许轻微潮湿
Fa    Fair - dampness or some cracking or settling 潮湿或有裂痕或沉淀
Po    Poor - Severe cracking, settling, or wetness 严重开裂、沉降或潮湿
NA    No Basement 无地下室

BsmtQual 地下室高度

Ex    Excellent (100+ inches)    
Gd   Good (90-99 inches)
TA   Typical (80-89 inches)
Fa    Fair (70-79 inches)
Po    Poor (<70 inches
NA   No Basement

BsmtExposure 室外或花园曝光水平

Gd    Good Exposure
Av    Average Exposure (split levels or foyers typically score average or above) 平均暴露(分等级或门厅)  
Mn    Mimimum Exposure
No    No Exposure
NA    No Basement

BsmtFinType1 地下室完工区域的等级

GLQ    Good Living Quarters 良好生活条件
ALQ    Average Living Quarters
BLQ    Below Average Living Quarters    
Rec    Average Rec Room
LwQ    Low Quality
Unf    Unfinshed
NA    No Basement

BsmtFinType2 地下室完工区域的等级2

GLQ    Good Living Quarters 良好生活条件
ALQ    Average Living Quarters
BLQ    Below Average Living Quarters    
Rec    Average Rec Room
LwQ    Low Quality
Unf    Unfinshed
NA    No Basement

GarageCond 车库条件

Ex    Excellent
Gd    Good
TA    Typical/Average
Fa    Fair
Po    Poor
NA    No Garage

GarageType 车库位置

2Types    More than one type of garage 不止一种类型的车库
Attchd    Attached to home 附属于住宅
Basment    Basement Garage 地下车库
BuiltIn    Built-In (Garage part of house - typically has room above garage) 住宅的一部分
CarPort    Car Port 停车场
Detchd    Detached from home 不在家附近
NA    No Garage 无车库

GarageFinish 车库内部装饰

Fin    Finished
RFn    Rough Finished    
Unf    Unfinished
NA    No Garage

GarageQual 车库质量

Ex    Excellent
Gd    Good
TA    Typical/Average
Fa    Fair
Po    Poor
NA    No Garage

PoolArea 游泳池面积

无空值

PoolQC 游泳池质量

Ex    Excellent
Gd    Good
TA    Typical/Average
Fa    Fair
NA    No Pool

绝大部分游泳池面积为0 所以填充空值时填为NA

KitchenQual 厨房质量

Ex    Excellent
Gd    Good
TA    Typical/Average
Fa    Fair
Po    Poor

Functional 功能性

Typ    Typical Functionality 具备典型功能
Min1    Minor Deductions 1 缺少小部分
Min2    Minor Deductions 2 缺少小部分
Mod    Moderate Deductions 中等缺少
Maj1    Major Deductions 1 大部分缺少
Maj2    Major Deductions 2 大部分缺少
Sev    Severely Damaged 严重损坏
Sal    Salvage only ?没看懂 只能用来住?

Fence 围栏质量

空值超多 可能很多没有 补为None

GdPrv    Good Privacy 良好的隐私性
MnPrv    Minimum Privacy 保证最小隐私
GdWo    Good Wood 好木头
MnWw    Minimum Wood/Wire 一般木头/电线
NA    No Fence 无围栏

FireplaceQu 壁炉质量

空值挺多 可能很多没有 补为None

Ex    Excellent - Exceptional Masonry Fireplace 独特的砖石壁炉
Gd    Good - Masonry Fireplace in main level 主层砖石壁炉
TA    Average - Prefabricated Fireplace in main living area or Masonry Fireplace in basement 生活区预制/地下室砖石壁炉
Fa    Fair - Prefabricated Fireplace in basement 地下室预制壁炉
Po    Poor - Ben Franklin Stove 本富兰克林炉
NA    No Fireplace 无壁炉

SaleType 销售类型

WD     Warranty Deed - Conventional 担保契约-常规
CWD    Warranty Deed - Cash 担保契约-现金
VWD    Warranty Deed - VA Loan 担保契约-VA贷款
New    Home just constructed and sold 刚建成并出售的房子
COD    Court Officer Deed/Estate 法院契据/遗产
Con    Contract 15% Down payment regular terms 合同15%定金定期付款
ConLw    Contract Low Down payment and low interest 合同低首付低利息
ConLI    Contract Low Interest 低利率合同
ConLD    Contract Low Down 收缩低点
Oth    Other 其他

SaleCondition 销售条件

无空值

Normal    Normal Sale 正常销售
Abnorml    Abnormal Sale -  trade, foreclosure, short sale 异常销售-交易、止赎、卖空
AdjLand    Adjoining Land Purchase 邻接土地购买
Alloca    Allocation - two linked properties with separate deeds, typically condo with a garage unit  分配-两个有独立契约的相连房产,通常是带车库的公寓 
Family    Sale between family members 家庭成员之间的买卖
Partial    Home was not completed when last assessed (associated with New Homes) 上次评估时未完成的住宅(与新住宅相关)

把以上都合并到full_1以便分析&后续的特征处理

 

特征分析

查看SalePrice的分布情况

#分布分析
#查看数据是否符合正态分布
sns.distplot(train['SalePrice'])
fig = plt.figure()
import scipy.stats as stats 
res = stats.probplot(train['SalePrice'],plot=plt)

1、saleprice与overallqual住宅整体装饰情况的关系

data = pd.concat([train['SalePrice'],train['OverallQual']],axis=1)
fig = sns.boxplot(x='OverallQual',y='SalePrice',data=data)

出售价格随着装饰得分的提高逐渐升高

2、saleprice与grlivarea住宅地上生活面积的关系

data = pd.concat([train['SalePrice'],train['GrLivArea']],axis=1)
data.plot.scatter(x='GrLivArea', y='SalePrice', ylim=(0,800000))

# 直方图和正态概率图,查看是否正态分布
plt.show()
sns.distplot(train['GrLivArea']);
plt.show()

图像非正态分布&由散点图可知,图像的右下角存在两个异常值

按条件查看多列

train[['GrLivArea','SalePrice']][train['GrLivArea']>4000]

按条件删除

full_1 = full_1.drop(full_1[full_1.GrLivArea>4600].index)

3、saleprice与garagecars车库车容量大小的关系

车库容量为3的出售价格最高 且异常点多且高 说明不是车库容量越多越受欢迎

4、saleprice与GarageArea车库面积的关系

5、saleprice与TotalBsmtSF地下室面积的关系

删除异常点

6、saleprice与1stFlrSF一楼面积的关系

删除异常点

7、saleprice与FullBath地上全浴室间数的关系

为啥0间还比1间价格高点 但123是逐步上升的

2的比较高的点还挺多 说明可能不需要这么多间浴室

8、saleprice与TotRmsAbvGrd地上总房间数不包括浴室的关系

并不是越多越好 太多价格反而下降 可能和其他因素比如地点/类型之类的有关

9、MoSold与销售量

train.groupby('MoSold')['SalePrice'].count()
sns.countplot(x='MoSold',data=train)

虽然567月的销售量最高 但在看每月销售平均价格的时候发现每个月都差不多

10、saleprice与LotFrontage房子到街道的直线距离的关系

删除异常点

11、saleprice与MSZoning分区的关系

低密度住宅区RL&流动村住宅FV的价格较高 高密度住宅区RH&中密度住宅区RM的价格次之

商业区C的价格最低(???为啥 一般不应该商区最贵)

12、saleprice与OverallCond房子整体状况得分的关系

得分5和9的价格较高 且得分5的有很多价格很高的点 这是为啥 难道因为买房的人想自己再装修?

13、saleprice与BldgType房子类型得分的关系

单一家庭&联排别墅末端单元的价格较高 且一家的价格有很多高点

别墅在边缘的比在中间的价格高 有钱人.jpg

为啥复式价格一般 我还挺喜欢复式的……

14、saleprice与HouseStyle住宅风格的关系

其实没太看懂这个style的意思

15、saleprice与Foundation住宅地基类型的关系

毫无疑问的是混凝土&石头价格更高 毕竟更安全

不过没想到木头比砖瓦价格高 随手百度了一下发现国外很多用木头当砖做地基的 方便便宜能调节温度

16、saleprice与BsmtCond评估地下室状况的关系

搞笑事件 没有excellent的地下室

虽然good的平均价格&上下分位数都比typical高 但typical有很多高出正常值的点 可能大家对地下室状况没有那么在意

17、saleprice与BsmtCond评估地下室高度的关系

价格和地下室高度同步上升

18、saleprice与BsmtCond评估地下室曝光的关系

同步上升 不过差别不是很大 地下室要啥曝光度

19、saleprice与BsmtFinType1评估地下室完工区域1的关系

除了good living quarters较高其他都差不多

20、saleprice与BsmtFinType1评估地下室完工区域2的关系

也差不多 未完成有很多高点 看来大家不是很care

21、saleprice与GarageCond车库状况的关系

excellent还没有typical/average强 看来这也不是主要考虑因素

22、saleprice与GarageType车库位置的关系

当然跟住宅一起的是坠好的啦 毕竟是外国的房子……

23、saleprice与GarageFinish车库内部装饰的关系

虽然不太care 但是当然已完成>完成得比较粗糙的>未完成的

24、saleprice与GarageQual车库质量的关系

虽然不太care 但也不能到fait和poor的水平

25、saleprice与PoolQC游泳池质量的关系

excellent 问就是有钱

26、saleprice与KitchenQual厨房质量的关系

果然还是excellent 不过如果像我这种不会&不想做饭的就不care了……

27、saleprice与Functional功能性保存程度的关系

具有典型功能的当然最好 不过其他数据表明没有区别也不大

28、saleprice与fence围栏质量的关系

不太重要

29、saleprice与FireplaceQu壁炉质量的关系

有壁炉且质量较好的当然比较高贵

30、saleprice与SaleType销售类型的关系

刚建好的房子比较受欢迎 常规的担保契约WD也有很多高点 交定金再定期的方式也不错

31、saleprice与SaleCondition销售条件的关系

上次评估时未完成的住宅&正常销售价格较高

 

特征处理&模型放在下一部分

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值