0
点赞
收藏
分享

微信扫一扫

华为LAB实验室3-机器学习实验:(线性回归)美国King County房价预测训练赛

各位好,我是乾颐堂大堂子。领取完整实战指南可以私信我,关键词:实战指南

1.导入相关python库

华为LAB实验室3-机器学习实验:(线性回归)美国King County房价预测训练赛_乾颐堂

2.数据处理

下载的是两个数据文件,一个是真实数据,一个是测试数据,打开kc_train.csv,能够看到第二列是销售价格,而我们要预测的就是销售价格,所以在训练过程中是不需要销售价格的,把第二列删除掉,新建一个csv文件存放销售价格这一列,作为后面的结果对比。

华为LAB实验室3-机器学习实验:(线性回归)美国King County房价预测训练赛_AI_02

华为LAB实验室3-机器学习实验:(线性回归)美国King County房价预测训练赛_线性回归_03

2.1数据说明

数据主要包括2014年5月至2015年5月美国King County的房屋销售价格以及房屋的基本信息。 数 据分为训练数据和测试数据, 分别保存在kc_train.csv和kc_test.csv两个文件中。 其中训练数据主要包括10000条记录, 14个字段, 主要字段说明如下:

第一列 “销售日期” : 2014年5月到2015年5月房屋出售时的日期

第二列 “销售价格” : 房屋交易价格, 单位为美元, 是目标预测值

第三列 “卧室数” : 房屋中的卧室数目

第四列 “浴室数” : 房屋中的浴室数目

第五列 “房屋面积” : 房屋里的生活面积

第六列 “停车面积” : 停车坪的面积

第七列 “楼层数” : 房屋的楼层数

第八列 “房屋评分” : King County房屋评分系统对房屋的总体评分

第九列 “建筑面积” : 除了地下室之外的房屋建筑面积

第十列 “地下室面积” : 地下室的面积

第十一列“建筑年份” : 房屋建成的年份

第十二列“修复年份” : 房屋上次修复的年份

第十三列"纬度": 房屋所在纬度

第十四列“经度” : 房屋所在经度

测试数据主要包括3000条记录, 13个字段, 跟训练数据的不同是测试数据并不包括房屋销售价格, 学员需要通过由训练数据所建立的模型以及所给的测试数据,得出测试数据相应的房屋销售价格预测值。

华为LAB实验室3-机器学习实验:(线性回归)美国King County房价预测训练赛_线性回归_04

华为LAB实验室3-机器学习实验:(线性回归)美国King County房价预测训练赛_AI_05

3.特征预处理常用方法:归一化、标准

把数据进行无量纲化,使不同规格的数据转换到同一规格。

(选做)3.1特征缩放/数据归一化MinMaxScaler()

3.1.1将数据放缩到给定的范围

fit_transform(self, X[,y])计算并将数据放缩到给定的范围:

fit():计算给定数据集X的最大值/最小值用于后面的放缩;

transform():将数据集X放缩到给定的范围内。

fit_transform(),包含上述两个功能。

3.1.2恢复给定范围的数据

inverse_transfom(self, X)

3.1.3归一化解释

华为LAB实验室3-机器学习实验:(线性回归)美国King County房价预测训练赛_乾颐堂_06

华为LAB实验室3-机器学习实验:(线性回归)美国King County房价预测训练赛_实战_07

3.1.4为什么训练集用fit_transform而测试集用transform

训练集已经通过fit_transform求出了一些固有属性,测试集可沿用上述属性直接标准化,不必重新再求

华为LAB实验室3-机器学习实验:(线性回归)美国King County房价预测训练赛_线性回归_08

华为LAB实验室3-机器学习实验:(线性回归)美国King County房价预测训练赛_实战_09

华为LAB实验室3-机器学习实验:(线性回归)美国King County房价预测训练赛_华为_10

华为LAB实验室3-机器学习实验:(线性回归)美国King County房价预测训练赛_乾颐堂_11

3.1.5归一化使用局限

因为归一化是通过最大值、最小值的把数据映射到一个新的区间里,所以如果数据中有异常值(最大或者最小值是异常的、离谱的),这样机会影响整个数据的映射分布。所以这种方法鲁棒性较差,只适合传统精确小数据场景。

有没有更加通用的一种数据规范化方式呢?下面是标准化StandardScaler()。

(选做)3.2数据标准化StandardScaler()

数据标准化StandardScaler()是把数据变换到均值为0,标准差为1的范围内。标准化StandardScaler()不易受异常值的影响。在已有样本足够多的情况下比较稳定,适合现代嘈杂大数据场景。

华为LAB实验室3-机器学习实验:(线性回归)美国King County房价预测训练赛_华为_12

华为LAB实验室3-机器学习实验:(线性回归)美国King County房价预测训练赛_实战_13

华为LAB实验室3-机器学习实验:(线性回归)美国King County房价预测训练赛_AI_14

华为LAB实验室3-机器学习实验:(线性回归)美国King County房价预测训练赛_实战_15

4.模型训练

使用sklearn库的线性回归函数进行调用训练。梯度下降法获得误差最小值。

最后使用MSE和R2来评价模型的好坏程度并画图进行比较。

4.1(选做)线性回归

华为LAB实验室3-机器学习实验:(线性回归)美国King County房价预测训练赛_线性回归_16

华为LAB实验室3-机器学习实验:(线性回归)美国King County房价预测训练赛_实战_17


4.2(选做)随机梯度下降SGD

华为LAB实验室3-机器学习实验:(线性回归)美国King County房价预测训练赛_线性回归_18

4.3(选做)岭回归Ridge

华为LAB实验室3-机器学习实验:(线性回归)美国King County房价预测训练赛_实战_19


5.模型评估(注意替换参数)

华为LAB实验室3-机器学习实验:(线性回归)美国King County房价预测训练赛_实战_20

华为LAB实验室3-机器学习实验:(线性回归)美国King County房价预测训练赛_实战_21

6.绘制图像

华为LAB实验室3-机器学习实验:(线性回归)美国King County房价预测训练赛_实战_22

7.输出结果

华为LAB实验室3-机器学习实验:(线性回归)美国King County房价预测训练赛_乾颐堂_23


举报

相关推荐

0 条评论