实验试题 房屋数据集预处理

 

一、实验概述:

【实验要求】

  1. 保存程序,并自行存档;
  2. 最终的程序都必须经过测试,验证是正确的;
  3. 认真记录实验过程及结果,回答实验考试报告中的问题。

 

【实施环境】(使用的材料、设备、软件)

Python开发环境

二、实验考试内容

题目 房屋数据集预处理

【实验内容】

  1. 请下载housing.csv文件。这是反应若干个小镇的房价的数据集,对数据集进行总体性的分析,比如行列数,每列的最大最小,中位数等,其代码和结果贴图所示:

答:

1.读入csc文件:

使用贝叶斯模型对房价进行预测。

2.统计每一列的行数:

 

使用贝叶斯模型对房价进行预测。

  1. 统计longtitude这一列的行数:

使用贝叶斯模型对房价进行预测。

  1. 因为ocean_proximity这一列不是数值类型,因此要把它去掉,再统计其他各列的最大值:

使用贝叶斯模型对房价进行预测。

再统计最大值:

使用贝叶斯模型对房价进行预测。

  1. 统计每一列的最小值:

使用贝叶斯模型对房价进行预测。

  1. 统计每一列的中位数:

使用贝叶斯模型对房价进行预测。

  1. 汇总描述:

使用贝叶斯模型对房价进行预测。

 

 

(2)该数据集的每列的具体含义是:

Longitude:经度;

Latitude:维度;

housing_median_age:该小镇的房屋年龄中位数;

total_rooms:该小镇的房屋房间数量;

total_bedrooms:该小镇的卧室房间数量;

population:该小镇的人口(千人,K)。

households:该小镇的家庭数;

median_income:收入的中位数;

median_house_value:房屋价值的中位数;

ocean_proximity:是否临近海(NEAR BAY:临海湾;INLAND:不临海;NEAR OCEAN:近海;<1H OCEAN:距海行程小于1小时)

 

  1. 对数据集进行适当的数据分析,并进行预处理;给出处理的过程;

答:

  1. 使用matplotlib查看各个属性的直方图:

使用贝叶斯模型对房价进行预测。

  1. 查看各个列的与median_house_value的相关性

使用贝叶斯模型对房价进行预测。

由此可以看出median_incomemedian_house_value的相关性最高,为0.688075,用散点图将这个属性的相关性可视化。

使用贝叶斯模型对房价进行预测。

由图看出相关性很强。再看人口与房价的相关性,相关性比较高:

 

由图可以看出,median_income的与median_house_value的相关性比较高,因此以median_income作为特征值,以median_house_value作为标签,对房屋价值进行预测。

  1. 分别采用线性回归模型,或者贝叶斯模型对房屋的价值进行预测(即对median_house_value列进行预测),并采用 matplotlib对预测的房屋的价值和原始价值曲线进行对比。

答:使用贝叶斯模型对房屋进行测试。

  1. 导入贝叶斯中的高斯分布型用来预测。

使用贝叶斯模型对房价进行预测。

  1. 将收入的中值作为特征值,房价的中值作为预测标签,因为只采用了一维的数据,所以需要将其重现reshape成二维结构。

使用贝叶斯模型对房价进行预测。

  1. 将数据集划分为训练集和测试集,按照0.4的比例划分。并且查看各个数据集划分后的维度。

使用贝叶斯模型对房价进行预测。

  1. 开始建模,然后使用训练集对模型进行训练。

使用贝叶斯模型对房价进行预测。

  1. 再对数据进行预测,并且用测试集模型进行测试,对测试结果计算精确率:

使用贝叶斯模型对房价进行预测。

总结:

相关系数很高,但是预测的相似度很低,有很多原因,有可能是这个模型不适合预测房价,也有可能本人的实验选择的维度不对。

 

相关文章: