Skip to content

huanghfzhufeng/-EDA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

房价预测之 EDA

一、项目简介

本项目旨在通过探索性数据分析(EDA)对房价相关数据进行深入研究,为后续的房价预测模型构建提供数据基础和分析依据。

二、数据导入与查看

导入训练集和测试集

  • 使用 pandas 库的 read_csv 函数读取本地保存的训练集和测试集文件,指定第一行作为列名,第一列作为索引,并创建副本。
  • 训练集数据存储在 train_data 中,测试集数据存储在 test_data 中。
  • 训练集形状为 (1460, 80),测试集形状为 (1459, 79),测试集比训练集少一个目标特征(待预测的房价)。

查看训练集基本信息

  • 使用 info() 方法查看数据集的大小、数据类型以及是否有缺失值。
  • 数据集中包含多种数据类型,如 int64float64object。部分列存在缺失值,如 LotFrontageGarageYrBlt 等。

数据分布情况

  • 使用 describe() 方法获取数据的统计描述,包括均值、中位数、标准差、最小值和最大值等。
  • 例如,SalePrice 列的均值为 180921.195890,标准差为 79442.502883,最小值为 34900.000000,最大值为 755000.000000。

统计缺失值

  • 使用 isnull().sum() 方法计算每列的缺失值数量。
  • LotFrontage 有 259 个缺失值,MasVnrAreaGarageYrBlt 等列也存在缺失情况。

显示训练集所有特征

  • 通过 columns 属性获取训练集中的所有列名,共有 80 个特征,涵盖房屋的各种属性,如房屋类型、面积、建造年份、周边环境等。

三、目标变量分析

SalePrice 列的分布情况

  • 目标变量 SalePrice 无缺失值。
  • 其分布偏离正态分布,呈现右偏尖峰态,峰度为 6.536281860064529,偏度为 1.8828757597682129。

绘制直方图展示变量概率分布

  • 绘制原始房价的直方图,展示房价数据的分布情况,较多数据集中在低价区间,右侧有较长尾部表示少量高价房屋。
  • 对房价进行对数转换(np.log1p())后绘制直方图,转换后的分布更接近正态分布,峰度为 0.809519155707878,偏度为 0.12134661989685333。

使用 distplot 方法绘制直方图与连续密度估计

  • 通过 sns.distplot() 方法绘制 SalePrice 的直方图与连续密度估计图,直观展示房价分布特性。

四、变量分类与重要性分析

连续型变量分析

  • 特征分类:将数据集中的特征分为数值型(num_features)和类别型(cat_features)两类,数值型特征有 37 个。
  • 删除缺失值大于 30% 的变量:找出缺失值大于 30% 的连续变量,如 LotFrontageMasVnrAreaGarageYrBlt,暂不填充,后续考虑多种填充方法。同时确定不含缺失值的连续变量和含有缺失值的连续变量。
  • 针对每个数值型特征绘制直方图:绘制每个数值型特征的直方图,观察其概率分布,部分参数如 GarageYrBlt 等分布接近正态分布。
  • 展示不含缺失值的连续型变量与 SalePrice 的关系图:通过散点图展示不含缺失值的连续型变量与房价的关系,部分变量与 saleprice 趋势一致,但可能存在共线性,如 2ndFlrSF 等。
  • 删除缺失值后的关系图:对于含有缺失值的连续变量,删除缺失值后绘制与 SalePrice 的关系图,这些变量与 salePrice 趋势一致,部分参数分布呈现正态分布,如 GarageYrBlt 等。

类别型变量分析

  • 删除类别型变量中缺失值大于 30% 的变量:处理类别型变量,删除缺失值大于 30% 的变量,剩余 26 个类别型变量。
  • 分类有无缺失值:将类别型数据分为有缺失值和无缺失值两类,无缺失值的有 18 个,有缺失值的有 8 个。
  • 展示无缺失值类别型变量与 SalePrice 的关系:使用箱线图展示无缺失值类别型变量与 SalePrice 的关系,分布不能明确说明与 saleprice 的相关性,但类别型变量无大小关系易带来噪音,将 MSSubClass 转换为 string 类型。

五、相关性分析

分析各个特征之间的关系矩阵

  • 计算数值型变量的相关矩阵,使用 sns.heatmap 绘制热图展示变量间相关性,颜色深浅表示相关性强弱。

相关性前 10 展示

  • 找出与 saleprice 相关性前 10 的连续型变量,包括 OverallQualGrLivAreaGarageCars 等。
  • 分析变量间共线性,选择合适变量,如 GrLivAreaToRmsAbvGrd 相关性高,选择 GrLivArea,因其分布接近正态分布;GarageCarsGarageAreas 相关性高,选择 GarageArea 等。

六、结果

经过上述分析,最终选择的连续型变量为 ['OverallQual', 'GrLivArea', 'GarageAreas', 'TotalBsmtSF', 'FullBath', 'YearBuilt', 'YearRemodAdd'],类别型变量为 ['Foundation', 'BsmtQual', 'KitchenQual']。这些变量将作为后续房价预测模型构建的重要特征。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published