如何用线性回归解南京外国语小学入学测试题:(

本文通过四元线性回归方法解答一道包含5组已知数据和1组未知数据的小学数学题。通过导入相关库,构建X和y,训练线性回归模型,验证模型得出的解与实际答案一致。最后,揭示线性回归的系数和规律,应用模型求解未知数据。

首先,请看题。
这题里面有5组已知数据,和一组未知数据。
在这里插入图片描述
我们把等号左右两遍用X和y表示,用四元线性回归解题。

首先,我们导入需要用的库。

import numpy as np
import sklearn
from sklearn.linear_model import LinearRegression

然后,构建X和y

X = np.array([
    [1,1,1,1],
    [1,2,8,9],
    [2,2,5,6],
    [3,3,8,8],
    [9,0,9,0]
])

y = np.array([0,3,1,4,4])

我们新建一个线性回归对象,并把数据给他,训练一个模型。

model = LinearRegression()
model.fit(X, y)

然后,我们反过来,把X带入模型,看看答案是否和y一致

model.predict(X)

这是输出答案:

array([-3.55271368e-15,  3.00000000e+00,  1.00000000e+00,  4.00000000e+00,
        4.00000000e+00])

这不,和y一样。说明我们的思路对了,这就是线性回归。

我们还可以看看线性回归的系数:

print(model.coef_)

print(model.intercept_)

系数是

array([-0.95348837,  1.73255814,  1.52325581, -1.1744186 ])
-1.1279069767441907

其中coef表示coefficient,即x1,x2,x3,x4x_1, x_2, x_3, x_4x1,x2,x3,x4, 的系数,intercept_是截距。

也就是说,我们找到的规律是

y=−0.95348837∗x1+1.73255814∗x2+1.52325581∗x3−1.1744186∗x4−1.1279069767441907y=-0.95348837*x_1 +1.73255814 * x_2 + 1.52325581 * x_3 -1.1744186 * x_4 - 1.1279069767441907y=0.95348837x1+1.73255814x2+1.52325581x31.1744186x41.1279069767441907

有了模型,就可以把最后一组数据带入模型了:

model.predict([[1,8,6,8]])

答案是

array([11.52325581])

好了,一道小学数学解决了。

机器学习的本质,就是利用已知的数据,找到规律,然后用这个规律去预测未知的数据。

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

织网者Eric

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值