sklearn实现线性回归

线性回归的原理就不讲了,主要就是拟合w和b来找直线尽可能多的与数据接近

下面我们是基于 sklearn 实现线性回归算法,大概可以分为三步。

一、从 sklearn 库中导入线性模型中的线性回归算法,如下所示:

二、训练线性回归模型。使用  fit() 喂入训练数据,如下所示:

三、对训练好的模型进行预测。调用 predict() 预测输出结果, “x_”为输入测试数据,如下所示:

我们拟合一个简单的y = 3 *x^2 +22

import numpy as np
from matplotlib import pyplot as plt
from sklearn import linear_model

x = np.linspace(3, 6, 40)
y = 3 * x + 22
y += np.random.rand(40) #给数据加点噪声

x, y = x[:,None], y[:,None] #因为fit函数需要x和y为矩阵,所以用这样的方式对x和y升维

model = linear_model.LinearRegression()

model.fit(x,y)

#查看预测结果
x_ = [[3],[4],[5],[6]]
y_ = model.predict(x_)
print(y_)

#查看w和b,并绘制拟合的直线
w, b = model.coef_, model.intercept_
print("w值为:",model.coef_)
print("b截距值为:",model.intercept_)
y_ = w * x + b # 拟合的函数
#数据集绘制,散点图,图像满足函假设函数图像
plt.scatter(x,y)
plt.plot(x,y_,color="red",linewidth=3.0,linestyle="-")
plt.legend(["Data","func"],loc=0)
plt.show()

 

结果:

总结:

主要使用到的函数为 linear_model.LinearRegression()调用模型和model.fit()来训练模型,需要注意的是model.fit传入的必须是二维矩阵!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值