首页 > 编程语言 >【Mathematical Model】Python拟合多元方程(线性回归)

【Mathematical Model】Python拟合多元方程(线性回归)

时间:2023-12-27 13:47:07浏览次数:35  
标签:Mathematical 方程 plt fit Python 拟合 np Model

         Python中可以使用多种库进行拟合方程,其中最常用的是NumPy和SciPy。NumPy是一个用于处理数组和矩阵的库,而SciPy则提供了大量的科学计算函数,包括拟合算法。

        之前已经分享过一元一/二次方程的拟合,有兴趣的可以查看:Python拟合一元方程。今天给大家分享下如何使用Python拟合多元方程。

1 Python代码

        这里和上次用的一样的函数,都是curve_fit,所以就不过多介绍了,然后二元实现的方式是用二维数组实现的,具体看代码。此外还添加了三维可视化的代码。

# -*- coding: utf-8 -*-
"""
@Time : 2023/12/25 9:21
@Auth : RS迷途小书童
@File :Regressive Analysis.py
@IDE :PyCharm
@Purpose:线性回归
@Web:博客地址:https://blog.csdn.net/m0_56729804
"""
import numpy as np
import pylab as mpl
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit


def binary_linear_equation():
    # 需要自己定义方程
    mpl.rcParams['font.sans-serif'] = ['SimHei']  # 显示中文
    plt.rcParams['axes.unicode_minus'] = False  # 解决负数坐标显示问题
    x = np.array([[1, 4], [2, 1], [3, 1], [4, 2],  [5, 1], [9, 3]])
    y = np.array([33, 4, 5, 12, 7, 27])

    def func(x1, a, b, c):
        return a * b * x1.T[0] + c * x1.T[1] ** 2
    p_opt, p_cov = curve_fit(func, x, y)
    print("方程参数最佳值为:", p_opt.astype(np.int64))  # 参数最佳值,np.round(p_opt, 4)
    print("拟合方程协方差矩阵:\n", p_cov)
    y_fit = func(x, *p_opt)  # 使用拟合参数计算对应的y值
    # ------------------可视化------------------
    mpl.rcParams['legend.fontsize'] = 12  # 将图例的字体大小设置为12
    fig = plt.figure()
    ax = fig.add_subplot(111, projection='3d')
    ax.scatter(x.T[0], x.T[1], y, marker='x', lw=2, label='原始数据')
    ax.plot(x.T[0], x.T[1], y_fit, c='r', label='拟合曲线')
    plt.legend()  # 显示label
    plt.tight_layout()  # 自动调整子图参数,使其内部组件(例如轴、标题、标签等)之间以及与子图边缘之间没有重叠。
    plt.show()


if __name__ == "__main__":
    # linear_equation_with_one_unknown()
    # Uni_quadratic_equation()
    binary_linear_equation()

2 总结

        自此拟合方程的博文应该不会更新了,因为我目前还没有这方面的需求,对于对数、指数、幂等方程用上面的代码同样可以实现,所以也不再啰嗦了。后面会更新其他方面的代码和理论,如果感兴趣的话可以关注我!

标签:Mathematical,方程,plt,fit,Python,拟合,np,Model
From: https://www.cnblogs.com/RSran/p/17930368.html

相关文章

  • YYDS!轻松用Python控制你的手机
    “Python编程几乎能做任何事,只要你敢想,敢尝试!”,今天来看下用Python代码怎么来控制你的安卓手机。具体的说是代替你的手,实现自动的触摸和一些动作,实现自动化操作!主要用的是安卓手机的Android调试桥(AndroidDebugBridge),它是一个非常有用的工具!本文的这个快速指南中,我将向你展示如何......
  • # yyds干货盘点 # 盘点一个基金数据的Python网络爬虫案例
    大家好,我是皮皮。一、前言前几天在Python最强王者交流群【哎呦喂 是豆子~】问了一个Python网络爬虫问题,一起来看看吧。问题描述:大佬们这个13位数字怎么构造呀 找不到规律 试了在第一页的url基础上加数字也是不行1、网站链接:http://quote.eastmoney.com/center/gridlist.html......
  • python之日志logging
    转载:https://blog.csdn.net/weixin_43790276/article/details/101944628 logging模块是Python内置的标准模块,用于输出代码日志。一、logging模块简介在工作中,运行的代码量是非常大的,为了更方便的管理代码运行,监控代码运行的过程,需要在代码中添加一些必要的日志输出。Py......
  • 【python爬虫课程设计】大数据分析———不同车辆类型不同零件的城市道路油耗、高速公
    一、选题背景随着社会经济的发展和人们生活水平的提高,汽车已经成为现代化生活中不可或缺的交通工具之一。同时,环保意识的提高也给汽车产业带来了新的挑战,例如减少汽车的油耗和减少尾气排放。在这样的背景下,通过分析不同车辆类型的城市道路油耗、高速公路油耗和二氧化碳排放量数......
  • AI人工智能中的数学基础原理与Python实战:深度学习框架与数学基础
    1.背景介绍人工智能(ArtificialIntelligence,AI)和深度学习(DeepLearning,DL)是当今最热门的技术领域之一。它们在图像识别、自然语言处理、语音识别等方面的应用表现卓越,为人类提供了无尽的便利。然而,为了更好地理解和应用这些技术,我们需要掌握其数学基础原理。在本文中,我们将探讨......
  • AI人工智能中的数学基础原理与Python实战:强化学习与决策过程
    1.背景介绍人工智能(ArtificialIntelligence,AI)和机器学习(MachineLearning,ML)是现代科学和技术领域的热门话题。随着数据量的增加,计算能力的提升以及算法的创新,人工智能技术在各个领域的应用也逐渐成为可能。强化学习(ReinforcementLearning,RL)是一种人工智能技术,它旨在让计算......
  • Python+Appium自动化测试-元素定位工具
    三种定位工具:UiAutomatorViewerAndroidSDK自带工具location:AndroidSDK安装目录/tools也可以去github下载standalone版本注意:截屏时,当前模拟器不能被其他程序占用,比如在截屏时Weditor也连接了终端AppiumDesktopInspectorAppiumServer自带工具下载地址:https://github......
  • Python+Appium自动化测试环境搭建
    安装JDK并配置环境变量JAVA_HOMEPath验证命令:返回版本号说明配置成功java-version安装AndroidSdk并配置环境变量AndroidSDKTool下载地址:https://www.androiddevtools.cn详细完整版安装步骤:https://blog.csdn.net/qq877728715/article/details/133940938安......
  • python数据核对具体怎么做
    python数据核对思路:点击查看代码defautocheck(io_form,io_form2,io_to):importpandaaspddf_1=pd.read_excel(io_form)df_2=pd.read_excel(io_form2)result=pd.merge(df_1,df_2,on="姓名",how="outer",suffixes=('_1','_2&#......
  • 博客园 OpenAPI 调用记录(Python)
    目录申请OpenAPIOpenAPI调用申请OpenAPIhttps://oauth.cnblogs.com通过后,你将得到ClientId和ClientSecretOpenAPI调用接口文档:https://api.cnblogs.com/Help请求示例:Client_Credentials授权importrequestsimportjsonfromurllibimportparseClientId='......