预测房价-Kaggle

个人对Kaggle预测房价的探讨,附思路和源代码。

受个人能力限制,存在诸多不足。

仅供参考。欢迎讨论。

 


1:分析准备

打开train文档,先熟悉数据。

预测房价-Kaggle

先看看数据,到底什么东西:

import numpy as np
import pandas as pd

data =pd.read_csv(r'./source data/train.csv')
print(data.info())

结果如下:

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1460 entries, 0 to 1459
Data columns (total 81 columns):
Id               1460 non-null int64
MSSubClass       1460 non-null int64
MSZoning         1460 non-null object
LotFrontage      1201 non-null float64
LotArea          1460 non-null int64
Street           1460 non-null object
Alley            91 non-null object
LotShape         1460 non-null object
LandContour      1460 non-null object
Utilities        1460 non-null object
LotConfig        1460 non-null object
LandSlope        1460 non-null object
Neighborhood     1460 non-null object
Condition1       1460 non-null object
Condition2       1460 non-null object
BldgType         1460 non-null object
HouseStyle       1460 non-null object
OverallQual      1460 non-null int64
OverallCond      1460 non-null int64
YearBuilt        1460 non-null int64
YearRemodAdd     1460 non-null int64
RoofStyle        1460 non-null object
RoofMatl         1460 non-null object
Exterior1st      1460 non-null object
Exterior2nd      1460 non-null object
MasVnrType       1452 non-null object
MasVnrArea       1452 non-null float64
ExterQual        1460 non-null object
ExterCond        1460 non-null object
Foundation       1460 non-null object
BsmtQual         1423 non-null object
BsmtCond         1423 non-null object
BsmtExposure     1422 non-null object
BsmtFinType1     1423 non-null object
BsmtFinSF1       1460 non-null int64
BsmtFinType2     1422 non-null object
BsmtFinSF2       1460 non-null int64
BsmtUnfSF        1460 non-null int64
TotalBsmtSF      1460 non-null int64
Heating          1460 non-null object
HeatingQC        1460 non-null object
CentralAir       1460 non-null object
Electrical       1459 non-null object
1stFlrSF         1460 non-null int64
2ndFlrSF         1460 non-null int64
LowQualFinSF     1460 non-null int64
GrLivArea        1460 non-null int64
BsmtFullBath     1460 non-null int64
BsmtHalfBath     1460 non-null int64
FullBath         1460 non-null int64
HalfBath         1460 non-null int64
BedroomAbvGr     1460 non-null int64
KitchenAbvGr     1460 non-null int64
KitchenQual      1460 non-null object
TotRmsAbvGrd     1460 non-null int64
Functional       1460 non-null object
Fireplaces       1460 non-null int64
FireplaceQu      770 non-null object
GarageType       1379 non-null object
GarageYrBlt      1379 non-null float64
GarageFinish     1379 non-null object
GarageCars       1460 non-null int64
GarageArea       1460 non-null int64
GarageQual       1379 non-null object
GarageCond       1379 non-null object
PavedDrive       1460 non-null object
WoodDeckSF       1460 non-null int64
OpenPorchSF      1460 non-null int64
EnclosedPorch    1460 non-null int64
3SsnPorch        1460 non-null int64
ScreenPorch      1460 non-null int64
PoolArea         1460 non-null int64
PoolQC           7 non-null object
Fence            281 non-null object
MiscFeature      54 non-null object
MiscVal          1460 non-null int64
MoSold           1460 non-null int64
YrSold           1460 non-null int64
SaleType         1460 non-null object
SaleCondition    1460 non-null object
SalePrice        1460 non-null int64
dtypes: float64(3), int64(35), object(43)
memory usage: 924.0+ KB
None

train的文档中,具有1460个样本,80个属性,而最后需要的结果只有一个:SalePrice,也就是房价。

所以第一件事,就是得进行整合和分析,看这么多属性分别都是什么,中文都是什么意思。

1.1:数据对应中英文转换

SalePrice 以美元出售的房产价格。 
MSSubClass 建筑类 
MSZoning 城市总体规划分区 
LotFrontage 连接物业的街道线 
LotArea: Lot size in square feet 方块大小
Street 道路入口类型 
Alley 巷类型 
LotShape 地产的外形 
LandContour 地产的扁平化 
Utilities 地产的公用事业类型 
LotConfig 地产配置 
LandSlope 地产的坡 
Neighborhood 城市范围内的物理位置 
Condition1 接近主干道或铁路 
Condition2 接近主路或铁路 
BldgType 住宅类型 
HouseStyle 居家风格 
OverallQual 整体质量和表面质量 
OverallCond 总体状态额定值 
YearBuilt 原施工日期 
YearRemodAdd 重塑日期 
RoofStyle 屋顶类型 
RoofMatl 屋顶材料 
Exterior1st 房屋外墙 
Exterior2nd 外部第二层:房屋外部覆盖物 
MasVnrType 圬工单板型 
MasVnrArea 砌体单板覆盖面积 
ExterQual: 外观材质 
ExterCond 外墙材料的现状 
Foundation 地基类型 
BsmtQual 地下室的高度 
BsmtCond 地下室概况 
BsmtExposure: 走道或花园式地下室墙 
BsmtFinType1 地下室竣工面积质量 
BsmtFinSF1 1型成品面积 
BsmtFinType2 第二成品区域的质量(如果存在) 
BsmtFinSF2 2型成品面积 
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 销售条件

 

把这些数据整理成Excel表格。发现很多东西看不明白。