Python机器学习之简单线性回归以及案例分析

简单线性回归

本次介绍最简单的线性回归模型——将数据模拟合成一条直线。直线模拟的模型方程为 y = ax + b,其中 a 是直线斜率,b 是直线截距。

模拟数据

从斜率为2,截距是-5的直线中抽取散点并绘制散点图
代码如下:

# 常用库
import matplotlib.pyplot as plt
import seaborn as sns;sns.set()
import numpy as np
#这里的randomstate=1指的是伪随机数生成器的种子,简单来说每个种子对应一个随机数
rng = np.random.RandomState(1)
# 抽取数据
x = 10 * rng.rand(50)
# randn的作用为保证与上面取的点一样
y = 2 * x - 5 + rng.randn(50)
# 绘制散点图
plt.scatter(x, y);

数据散点图:
线性回归数据

拟合数据,获得最佳拟合直线

通过Scikit-Learn 的 LinearRegression 评估器来拟合数据,并获得最佳拟合直线:
from sklearn.linear_model import LinearRegression
model = LinearRegression(fit_intercept=True)
代码如下:

#获得最佳拟合直线
from sklearn.linear_model import LinearRegression
#实例化评估器来拟合数据
model = LinearRegression(fit_intercept=True)
#真实数据传入这张图,让数据在计算图中流动起来
model.fit(x[:, np.newaxis], y)
#得到0-10中1000个数据
xfit = np.linspace(0, 10 , 1000)
#通过x预测y
yfit = model.predict(xfit[:, np.newaxis])
plt.plot(xfit, yfit)

拟合直线:
线性回归模型

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值