当前位置:   article > 正文

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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40

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

代码注释

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变量中。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/469358
推荐阅读
相关标签
  

闽ICP备14008679号