这是DC竞赛网的一道基础回归问题, 美国King County房价预测训练赛
竞赛详细信息:美国King County房价预测训练赛
任务:从给定的房屋基本信息以及房屋销售信息等,建立一个回归模型预测房屋的销售价格。
数据:
数据主要包括2014年5月至2015年5月美国King County的房屋销售价格以及房屋的基本信息。
数据分为训练数据和测试数据,分别保存在kc_train.csv和kc_test.csv两个文件中。
其中训练数据主要包括10000条记录,14个字段,主要字段说明如下:
第一列“销售日期”:2014年5月到2015年5月房屋出售时的日期
第二列“销售价格”:房屋交易价格,单位为美元,是目标预测值
第三列“卧室数”:房屋中的卧室数目
第四列“浴室数”:房屋中的浴室数目
第五列“房屋面积”:房屋里的生活面积
第六列“停车面积”:停车坪的面积
第七列“楼层数”:房屋的楼层数
第八列“房屋评分”:King County房屋评分系统对房屋的总体评分
第九列“建筑面积”:除了地下室之外的房屋建筑面积
第十列“地下室面积”:地下室的面积
第十一列“建筑年份”:房屋建成的年份
第十二列“修复年份”:房屋上次修复的年份
第十三列"纬度":房屋所在纬度
第十四列“经度”:房屋所在经度
测试数据主要包括3000条记录,13个字段,跟训练数据的不同是测试数据并不包括房屋销售价格,通过由训练数据所建立的模型以及所给的测试数据,得出测试数据相应的房屋销售价格预测值。
评分算法:
算法通过计算平均预测误差来衡量回归模型的优劣。平均预测误差越小,说明回归模型越好。平均预测误差计算公式如下:
mse是平均预测误差,m是测试数据的记录数(即3000),是参赛者提交的房屋预测价格,y是对应房屋的真实销售价格。
1. 主函数,按顺序先导入数据,再数据预处理,然后预测模型搭建预测,最后输出预测结果。
from kc_data_import import read_data
from kc_data_preprocessing import preprocessing
from kc_data_prediction import predict, predict2
def main():
# 读取数据
columns_test = ['date', 'bedroom', 'bathroom', 'floor space', 'parking space', 'floor', 'grade'