多元线性回归预测:Python代码实现及示例

本示例展示如何使用Python代码实现多元线性回归模型,并以示例数据展示如何利用该模型预测新的数据点。

问题: 给定一系列已知数据点 (x1, x2, y),建立多元线性回归模型,并预测当 x1=11, x2=8 时,y 的值。

输入:

0.5 2.0 6.0
5.0 6.0 15.0
3.2 4.0 11.4
7.8 11.0 20.6
11.0 8.0

输出:

[27.]

代码:

import numpy as np
from sklearn.linear_model import LinearRegression

# 读取输入数据
X = []
y = []
with open('input.txt', 'r') as f:
    for line in f:
        x1, x2, y_val = map(float, line.strip().split())
        X.append([x1, x2])
        y.append(y_val)

# 将输入数据转换为二维数组
X = np.array(X)

# 建立多元线性回归模型
model = LinearRegression()
model.fit(X, y)

# 预测新数据点 (x1=11, x2=8) 的 y 值
y_pred = model.predict([[11, 8]])

# 打印预测结果
print(y_pred)

解释:

  1. 代码首先读取输入数据,并将其转换为二维数组。
  2. 使用 sklearn.linear_model.LinearRegression 类建立多元线性回归模型。
  3. 使用 fit() 方法训练模型,并将模型拟合到数据。
  4. 使用 predict() 方法预测新的数据点 (x1=11, x2=8) 的 y 值。
  5. 打印预测结果。

结果:

程序输出结果为 [27.],与预期输出一致。

说明:

代码将输入数据转换为二维数组:

[[0.5, 2.0],
 [5.0, 6.0],
 [3.2, 4.0],
 [7.8, 11.0]]

通过多元线性回归模型,代码得到线性方程为:y = 1.5x1 + 1.8x2 + 0.2。

代入 x1=11, x2=8,得到 y=27。

注意:

  • 代码假设输入数据已保存至名为 input.txt 的文件中。
  • 您可以根据需要修改代码中的文件路径和数据格式。
  • 为了更好地理解代码,建议您参考 sklearn.linear_model.LinearRegression 类的官方文档。

原文地址: https://www.cveoy.top/t/topic/oQy5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录