实战演练 —— 线性回归
2.1 一元线性回归
任务介绍:
- 自定义一元回归函数linearRegression,输入参数为x和y的数组xArr和yArr,输出为参数w1和w0
- 使用美国医疗保险费数据insurance.csv的输入特征age和目标特征charges,根据linearRegression得到回归参数值w1和w0,并保留到小数点后两位
- 已知根据最小二乘法求得的参数值为
预期实验结果
实验代码
1 | import pandas as pd |
模型训练,得到参数值
257.72
3165.89
sklearn的训练结果
[[257.72]]
[3165.89]
2.2 多元线性回归
任务介绍:
预期实验结果
实验代码
1 | from sklearn import linear_model |
模型训练,得到参数值
[[ 239.99447429]
[ 332.0833645 ]
[ 542.86465225]
[-6916.24334779]]
sklearn的训练结果
[239.99447429 332.0833645 542.86465225 0. ]
-6916.243347787033
2.4 线性回归应用:预测医疗费用
任务介绍
- 请对insurance.csv中的名义型特征进行了One-Hot编码,得到了数据变量insurance
- 请使用自定义的多元回归函数linearRegression得到回归模型参数和预测值y_pred
- 自定义决定系数函数r2_Score(为了与sklearn中的r2_score的名称有所区别),只保留小数点后两位,并计算实际模型的决定系数结果score
- 比较使用sklearn进行模型训练和模型评价与使用自定义函数进行模型训练和模型评价的结果
预期实验结果
代码1:使用上一节实验中实现的代码,可以复制粘贴代替下面的代码
1 | from sklearn import linear_model |
模型训练,得到参数值
[[ 239.99447429]
[ 332.0833645 ]
[ 542.86465225]
[-6916.24334779]]
sklearn的训练结果
[239.99447429 332.0833645 542.86465225 0. ]
-6916.243347787033
代码2:本次实验主要代码
1 | from sklearn import linear_model |
0.75
0.75