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

一、概念

一元线性回归,指的是只研究一个自变量与一个因变量之间的关系。简单来说就是看如何设计出一条理想的直线(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】**老师学习的,大家可以去看该老师的视频学习!

相关推荐
m0_547486663 小时前
《数据结构与算法(Python语言版)》全套PPT课件2026
数据结构·算法
个 人 练 习 生4 小时前
数据结构入门:算法复杂度
开发语言·数据结构·经验分享·学习·程序人生·算法
Ricardo-Yang4 小时前
无人机单目深度估计测试:ZipDepth 与 AerialMetric
人工智能·算法·机器学习·计算机视觉·无人机
W_326004 小时前
Python-OpenCV边缘检测与阈值分割:Sobel、Scharr、Laplacian、Canny、全局与自适应阈值
开发语言·图像处理·python·opencv·机器学习
Nil2084 小时前
golang解决单词转换
算法
imaol14 小时前
文件编程--标准IO
linux·运维·算法
青 春 记 忆4 小时前
LeetCode 121. 买卖股票的最佳时机|Python 解法详解
python·算法·leetcode
stolentime5 小时前
AT_agc066_a [AGC066A] Adjacent Difference题解
c++·算法·贪心算法·构造
渣波5 小时前
深度解析:LeetCode 51. N 皇后 —— 回溯算法的巅峰之作
算法
咪饭只吃一小碗5 小时前
# C++ STL 常用容器方法全面总结vector / map / set / unordered_map / unordered_set
算法