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

Posted 有数可据

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用线性回归解南京外国语小学入学测试题:(相关的知识,希望对你有一定的参考价值。

首先,请看题。
这题里面有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,即 x 1 , x 2 , x 3 , x 4 x_1, x_2, x_3, x_4 x1,x2,x3,x4, 的系数,intercept_是截距。

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

y = − 0.95348837 ∗ x 1 + 1.73255814 ∗ x 2 + 1.52325581 ∗ x 3 − 1.1744186 ∗ x 4 − 1.1279069767441907 y=-0.95348837*x_1 +1.73255814 * x_2 + 1.52325581 * x_3 -1.1744186 * x_4 - 1.1279069767441907 y=0.95348837x1+1.73255814x2+1.52325581x31.1744186x41.1279069767441907

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

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

答案是

array([11.52325581])

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

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

以上是关于如何用线性回归解南京外国语小学入学测试题:(的主要内容,如果未能解决你的问题,请参考以下文章

如何用matlab线性回归分析?

如何用Python进行线性回归以及误差分析

如何用TensorFlow实现线性回归

如何用spss进行非线性回归模型操作步骤

如何用Python进行线性回归以及误差分析

在多元线性回归中,如何用matlab求得各个变量的T统计值及其p值?