11.(Python数模)(预测模型三)多元线性回归预测

多元线性回归

简介

多元线性回归使用在自变量和因变量有逻辑相关性的情况中。在实际应用中,多元线性回归经常用于探索和解释变量之间的复杂关系,例如经济学、社会科学和自然科学等领域。它提供了一种统计工具来分析多个自变量对因变量的影响,并帮助研究人员做出预测和决策。

使用的是sklearn库中的LinearRegression。LinearRegression 是一个线性回归模型,常用于预测连续型变量的值。它基于最小二乘法,通过拟合一个线性函数来建立特征与目标变量之间的关系。你可以使用该模型来进行回归分析和预测。

要使用 LinearRegression 模型,你需要导入适当的库,并且准备好特征和目标变量的数据。通常,你会将数据分成训练集和测试集,然后使用训练集来训练模型,再使用测试集来评估模型的性能。

源代码

import pandas as pd
import numpy as np
import xlrd
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
def readDataFile(readPath):  # readPath: 数据文件的地址和文件名
    try:
        if (readPath[-4:] == ".csv"):
            dfFile = pd.read_csv(readPath, header=0, sep=",")  # 间隔符为逗号,首行为标题行
            # dfFile = pd.read_csv(filePath, header=None, sep=",")  # sep: 间隔符,无标题行
        elif (readPath[-4:] == ".xls") or (readPath[-5:] == ".xlsx"):  # sheet_name 默认为 0
            dfFile = pd.read_excel(readPath,header=0)  # 首行为标题行
            # dfFile = pd.read_excel(filePath, header=None)  # 无标题行
        elif (readPath[-4:] == ".dat"):  # sep: 间隔符,header:首行是否为标题行
            dfFile = pd.read_table(readPath, sep=" ", header=0)  # 间隔符为空格,首行为标题行
            # dfFile = pd.read_table(filePath,sep=",",header=None) # 间隔符为逗号,无标题行
        else:
            print("不支持的文件格式。")
    except Exception as e:
        print("读取数据文件失败:{}".format(str(e)))
        return
    return dfFile

df = readDataFile('p2_水生根茎类7日.xlsx')

print(df)
model = LinearRegression()

X = df[['销售单价','批发单价']].values
y = df['销售总量'].values
model.fit(X, y)
coefficients = model.coef_
intercept = model.intercept_

# X_new = df.iloc[15:20,2:7].values
# y_pred = model.predict(X_new)

print('回归系数:', coefficients)
print('截距:', intercept)
# print('预测结果:', y_pred)

输入的数据如下:
在这里插入图片描述

代码注释

1、readDataFile。这个函数是我常用的一个读取文件函数。非常方便,不管什么格式的数据,都能够一键读取到dataframe当中

2、model.fit(X, y) 是一个用于训练机器学习模型的方法。在这个方法中,X 是输入特征集,y 是对应的目标变量。通过调用 fit() 方法,模型会根据输入数据进行训练,并学习出适合预测目标变量的参数。

3、系数(coefficients)表示特征对目标变量的影响程度,而截距(intercept)则表示在所有特征都为零时的预测值。这段代码模型中获取系数和截距。

4、y_pred = model.predict(X_new)。y_pred是一个变量,它表示使用模型对输入数据X_new进行预测得到的输出结果。在这里,model是一个预训练好的模型,调用predict方法可以使用这个模型对新的输入数据进行预测。预测结果会保存在y_pred变量中。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

海绵波波107

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

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

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

打赏作者

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

抵扣说明:

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

余额充值