房价预测
任务目标:预测未来的房价
处理步骤
- 导入数据集,进行数据质量分析与数据清洗;
- 数据特征分析(分布分析、统计量分析、相关性分析);
- 特征工程(特征降维、特征选择);
- 构建房价预测模型(GBDT算法、Xgboost算法);
1. 导入数据集,进行数据质量分析与数据清洗
查看数据特征类型, 即除SalePrice的列,有数值类型(numerical)和类别类型(category)
1.1 缺失值分析
1.2 缺失值处理
对缺失值超过15%的特征进行删除
对于部分‘类别’型数据,其空值可用众数进行填充,如Electrical
1.3 异常值处理
删除基于SalePrice3倍标准差的异常值
2. 数据特征分析
2.1 统计量分析
由上面结果可知,偏度大于0.75,则向左偏,采用ln(x+1)进行转化。
2.2 相关性分析
pairplot主要展现的是变量两两之间的关系,对角线上是各个变量的直方图,而非对角线上是两个不同变量之间的相关图。
由上图第一行后三个图可知基于’TotalBsmtSF’,‘1stFlrSF’,‘GrLivArea’,'GarageArea’特征分别存在1、1、2、4个异常值,可剔除掉。
定义方差函数,返回p-value值,其值越小对应特征越重要。
3. 特征工程
特征选择
特征融合
4. 房价预测模型构建及误差
使用GBDT算法,构建模型
Xgboost算法,构建模型
两个模型的R2一样好,但GDBT算法误差更小。故选用GDBT算法预测房价。