【机器学习】回归类算法-一元线性回归(入门)

一、概念

一元线性回归,指的是只研究一个自变量与一个因变量之间的关系。简单来说就是看如何设计出一条理想的直线(y=kx+b)。

二、如何确定一条理想的直线?

(1)最小二乘法

通过数学模型,拟合一条较为理想的直线。该直线可以使原数列的观测值与模型的估计值的离差平方和最小 (即所有点到该直线的垂直距离最短),而且原数列的观测值(y)与模型估计值(y1)的离差总和为0

我们可以从下面的,求解身高与体重之间的关系的例子中,来理解最小二乘法。

(2)如何求解最小二乘法

①公式的推导

下面的这张图片是老师给的,直接可以求y=b1x+b0公式中的b1与b0的公式 (大家可以下来查资料自行推导,数学好的推荐

②机器学习的工具SKlearn

from sklearn import linear_model

linear_model.LinearRegression()

三、案例实践

设计下列商品销售量与收入之间的一元线性回归方程:

代码:

python 复制代码
import numpy as np
from sklearn import linear_model

X = [522, 539, 577, 613, 644, 670, 695, 713, 741, 769, 801, 855, 842, 860, 890, 920]
Y = [6700, 7136, 7658, 7784, 8108, 7583, 8002, 8442, 8158, 8683, 9317, 9675, 8542, 8584, 9612, 9719]
# reshap改变数据的形状
x = np.array(X).reshape(-1, 1)
y = np.array(Y).reshape(-1, 1)
# LinearRegression()为linear_model中的线性回归方程,直接调用即可
lr = linear_model.LinearRegression()
# fit()调用模型函数
lr.fit(x, y)
# coef_和intercept_分别对应我们要求的一元回归函数里面的两个系数
print(lr.coef_)
print(lr.intercept_)

结果:

四、总结

博主也是初学者,有很多不懂的地方,如果有说错的地方,欢迎大家指正。最后,该内容是跟着**B站up主【abilityjh】**老师学习的,大家可以去看该老师的视频学习!

相关推荐
<但凡.1 分钟前
编程之路,从0开始:知识补充篇
c语言·数据结构·算法
f狐0狸x26 分钟前
【数据结构副本篇】顺序表 链表OJ
c语言·数据结构·算法·链表
Light6037 分钟前
低代码牵手 AI 接口:开启智能化开发新征程
人工智能·python·深度学习·低代码·链表·线性回归
paopaokaka_luck1 小时前
基于Spring Boot+Vue的多媒体素材管理系统的设计与实现
java·数据库·vue.js·spring boot·后端·算法
phoenix@Capricornus1 小时前
矩阵的对角化&特征值分解
图像处理·线性代数·机器学习·矩阵
视觉小萌新1 小时前
VScode+opencv——关于opencv多张图片拼接成一张图片的算法
vscode·opencv·算法
Chef_Chen1 小时前
从0开始学习机器学习--Day25--SVM作业
学习·机器学习·支持向量机
2的n次方_1 小时前
二维费用背包问题
java·算法·动态规划
simple_ssn2 小时前
【C语言刷力扣】1502.判断能否形成等差数列
c语言·算法·leetcode
寂静山林2 小时前
UVa 11855 Buzzwords
算法