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

news2025/1/13 3:15:34

多元线性回归

简介

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

使用的是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变量中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/998868.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows下使用source insight连接远程Linux机器写代码

命令总结 基本会用到的命令都在这里了,流程里面就不加命令了,自行看表格 流程 linux安装 samba,并确认版本,确认samba服务运行状态配置samba用户配置samba的配置文件 在文件最后增加 示例如下: security user [pub…

大模型参数高效微调PEFT的理解和应用

简介 近年的大型语言模型(也被称作基础模型),大多是采用大量资料数据和庞大模型参数训练的结果,比如常见的ChatGPT3有175B的模型参数量。随着Large Language Model(LLM)的横空出世,网络模型对常见问题的解答有了很强的…

分享大数据分析培训就业班课程内容

随着国家重视大数据,政府扶持大数据,大数据在企业中生根发芽根据人社部发布的《新职业--大数据工程技术人员就业景气现状分析报告》预计,未来5年,大数据行业的人才需求将保持30%-40%的增速,人才缺口总量将达到2000万人…

冠达管理股票分析:权益分派前买入好不好?

随着股票市场的不断升温,出资者们也越来越关注买入时机的把握。而其中一个重要的要素就是权益分配。那么,权益分配前买入好不好呢?本文将从多个视点进行剖析。 1、剖析权益分配对股价的影响,推断买入时机的合理性。权益分配是上市…

地图结构 | 图解占据栅格地图原理(附Matlab建图实验)

目录 0 专栏介绍1 栅格地图1.1 应用场景1.2 基本概念 2 占据栅格地图2.1 更新模型2.2 截断策略 3 仿真实现3.1 算法流程3.2 Matlab实现 0 专栏介绍 🔥附C/Python/Matlab全套代码🔥课程设计、毕业设计、创新竞赛必备!详细介绍全局规划(图搜索…

蚂蚁开源编程大模型,提高开发效率

据悉,日前蚂蚁集团首次开源了代码大模型 CodeFuse,而这是蚂蚁自研的代码生成专属大模型,可以根据开发者的输入提供智能建议和实时支持,帮助开发者自动生成代码、自动增加注释、自动生成测试用例、修复和优化代码等kslouitusrtdf。…

小红书母婴行业文案怎么写,创作方向有哪些?

行业文案顾名思义就是有关于某个行业的文案,不过此类内容一般都具有商业性。随着互联网的深入,怎么对行业文案进行创作,也成为品牌的日常工作。今天为大家分享下小红书母婴行业文案怎么写,创作方向有哪些? 首先&#x…

arppy gis 读取text 并批量添加字段 arcpy.AddField_management

arppy gis 读取text 并批量添加字段 arcpy.AddField_management 例:给“省级行政区域”添加“A、B、C、D” 4个字段。 (1)用Excel制作出字段及其描述表,定义字段结构; (2)复制除标题行以为的内…

windows本地验证码识别小工具

windows本地验证码识别小工具 - 可以用在windows系统中,并可以集成在Java或python程序中 演示视频如下:可用于识别4-7位的字母数字组合的验证码(识别准确率在70% - 80%)。 验证码识别演示 本项目未开源,如需使用请联…

DELL 台式机的内置扬声器如何关闭

DELL 台式机的内置扬声器如何关闭? 点“开始”——控制面板——高清晰音频管理器——右上角“设备高级设置”——“播放设备”——点击“使前部和后部设备播放不同的音频流”前面的小方框——“确认”。ok了。

14-JVM调优实战-常量池详解

上一篇:13-JVM调优实战-3 最后,来一个算是补充拓展知识点,希望可以帮到你。 1.Class常量池与运行时常量池 Class常量池可以理解为是Class文件中的资源仓库。 Class文件中除了包含类的版本、字段、方法、接口等描述信息外,还有…

win7安装不了python3.10.8

今天安装python3.10.8,发现安装失败。原来是win7不支持python3.10.8。 如图: 安装出现问题: win7能安装python3哪个版本,我正在测试。到时补充编辑。

Web Components详解-Shadow DOM插槽

前言 插槽实际上也属于组件通信的一种方式,但是由于其强大的api和实用性,我将其单独拆开来介绍。 定义 Slot(插槽)是Web Components中一个重要的特性,它允许在组件内部定义占位符,以便父组件可以向其中插…

好用的工具推荐

1 chatgpt国内版 ChatMindAI ChatMindAI-智慧学习,办公无忧,AIGC让生活更简单https://x.chatmindai.net/explore

sovits远程访问设置

感谢阅读 把blocks.py的如下部分,false改为true

无涯教程-JavaScript - DOLLARDE函数

描述 DOLLARDE函数将以整数部分和小数部分(如1.02)表示的美元价格转换为以十进制数表示的美元价格。分数美元数字有时用于证券价格。值的小数部分除以您指定的整数。 语法 DOLLARDE (fractional_dollar, fraction)争论 Argument描述Required/OptionalFractional_dollarA nu…

SpringMVC的文件上传文件下载多文件上传---详细介绍

目录 前言: 一,文件上传 1.1 添加依赖 1.2 配置文件上传解析器 1.3 表单设置 1.4 文件上传的实现 二,文件下载 controller层 前端jsp 三,多文件上传 Controller层 运行 前言: Spring MVC 是一个基于 Java …

使用迭代方式解决汉诺塔问题(Java语言)

目录 汉诺塔问题解决 迭代介绍 汉诺塔问题解决 在这个Java示例中,我们使用了一个Stack数据结构来模拟递归调用的过程。hanoiIterative函数接受盘子数量n以及三个柱子的名称作为参数,并在迭代过程中模拟汉诺塔的移动操作。moveDisk函数用于模拟盘子的移…

零钱兑换00

题目链接 零钱兑换 题目描述 注意点 如果没有任何一种硬币组合能组成总金额,返回 -1可以认为每种硬币的数量是无限的 解答思路 动态规划从总金额1开始推出目标金额所需的最少硬币个数,任意某个金额所需的最少硬币个数可以由当前金额减去每种面额的硬…

paddleocr python代码封装成http

方便自己,方便他人,直接上代码 from flask import Flask, request from paddleocr import PaddleOCR, draw_ocr import json import pandas as pd import sys import datetime import numpy as np import numpy_financial as npf from dateutil.relativedelta import relative…