机器学习--线性回归的代码实现

这篇博客详细介绍了如何使用Python的Numpy、Pandas和Matplotlib库实现线性回归模型。首先,通过Numpy生成X和Y数据,接着使用Pandas创建DataFrame,然后利用Matplotlib进行数据可视化。接下来,通过Pandas读取数据并运用sklearn的linear_model进行训练,同时使用MSE和R2评估模型性能。最后,博主对比了经典线性回归模型(OLS)和LAD线性回归模型的差异,指出LAD模型在处理异常值时更具稳定性。
摘要由CSDN通过智能技术生成

需要使用到Numpy生成X和Y

在 anconda提供的编译器Spyder中:

import numpy as np

引用numpy库作为np来使用

先生成一个X数组作为X轴:

x=list(range(10,29))

输出10到28的一个数组,但是这个数组不适用于我们的图像构建,所以要引用numpy库中的array函数

x= np.array(x)

通过这个函数将原数组转换成我们需要用到的数组

因为是要构建一个线性关系,也就是确立y=x+b的关系,我们需要生成随机扰动项,也就是需要通过numpy提供的random方法来确立关系

e = np.random.randn(19) 19表示生成19个随机数

array([-1.09966045, -0.00527499, -0.99471305, -1.39432261, -1.93133477, -0.88176476, -0.30119564, 0.30721595, -0.42166133, 0.48725303, 1.10091878, 0.19685779, 1.09610661, -0.48125626, -0.00474868, -0.73581372, -0.68684776, -1.54691135, 1.77830768])

使用pandas来生成 DATAFrame(数据框架)

首先 import pandas as pd

pd.DataFrame({"x":x,"y":y}) Out[12]: x y 0 10 8.900340 1 11 10.994725 2 12 11.005287 3 13 11.605677 4 14 12.068665 5 15 14.118235 6 16 15.698804 7 17 17.307216 8 18 17.578339 9 19 19.487253 10 20 21.100919 11 21 21.196858 12 22 23.096107 13 23 22.518744 14 24 23.995251 15 25 24.264186 16 26 25.313152 17 27 25.453089 18 28 29.778308
使用DataFrame的结果就是将两组数组组成一个表格形式

使用Matplotlib将数据可视化

import matplotlib.pyplot as plt引用matplotlib库中的图画工具pyplot

fig=plt.figure(figsize=(6,6),dpi=80)设置图像框,确定大小6X6,设置分辨率80

ax = fig.add_subplot(111)设置一行一列,并且选择第一个位置画图

ax.scatter(data.x,data.y,color="b",label="$y = x + \epsilon$")

data.x 引用数据或y,color="b"将点用蓝色,label图示,将线性关系的表达式展示出来

plt.legend(shadow=True)展示所画的图像

plt.show()展示图片

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vVPBZRDG-1583672890927)(C:\Users\86189\AppData\Roaming\Typora\typora-user-images\image-2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值