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

一、概念

一元线性回归,指的是只研究一个自变量与一个因变量之间的关系。简单来说就是看如何设计出一条理想的直线(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 分钟前
02-18.python入门基础一基础算法
数据结构·python·算法·排序算法
梦茹^_^2 分钟前
排序算法(系列)
数据结构·python·算法·排序算法·希尔排序·基数排序·计数排序和桶排序
花开盛夏^.^7 分钟前
Timsort算法
数据结构·算法·排序算法
code monkey.9 分钟前
【排序算法】—— 计数排序
c++·算法·排序算法
云青山水林11 分钟前
2024.12.21 周六
c++·算法·贪心算法
chenziang116 分钟前
leetcode hot二叉树的层序遍历
数据结构·算法
pianmian128 分钟前
完全平方数
数据结构·算法
A_Tai233333330 分钟前
贪心算法解决用最少数量的箭引爆气球问题
算法·贪心算法
dundunmm35 分钟前
机器学习之PCA降维
机器学习·信息可视化·数据挖掘·数据分析
唐叔在学习42 分钟前
【唐叔学算法】第19天:交换排序-冒泡排序与快速排序的深度解析及Java实现
java·算法·排序算法