python如何实现数据的线性拟合
实验室老师让给数据画一张线性拟合图。不会matlab,就琢磨着用python。参照了网上的一些文章,查看了帮助文档,成功的写了出来
这里用到了三个库
import numpy as np import matplotlib.pyplot as plt from scipy import optimize def f_1(x, A, B): return A * x + B plt.figure() # 拟合点 x0 = [75, 70, 65, 60, 55,50,45,40,35,30] y0 = [22.44, 22.17, 21.74, 21.37, 20.92,20.67,20.32,20.05,19.84,19.59] # 绘制散点 plt.scatter(x0[:], y0[:], 3, "red") # 直线拟合与绘制 A1, B1 = optimize.curve_fit(f_1, x0, y0)[0] x1 = np.arange(30, 75, 0.01)#30和75要对应x0的两个端点,0.01为步长 y1 = A1 * x1 + B1 plt.plot(x1, y1, "blue") print(A1) print(B1) plt.title(" ") plt.xlabel('t') plt.ylabel('Mt/g') plt.show()
用的到的api:
numpy.arrange
scipy.optimize.curve_fit
实验效果如下,图像和数据都得到了,非常满意了
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Python线性拟合实现函数与用法示例
本文实例讲述了Python线性拟合实现函数与用法.分享给大家供大家参考,具体如下: 1. 参考别人写的: #-*- coding:utf-8 -*- import math import matplotlib.pyplot as plt def linefit(x , y): N = float(len(x)) sx,sy,sxx,syy,sxy=0,0,0,0,0 for i in range(0,int(N)): sx += x[i] sy += y[i] sxx += x[i]*x[i]
-
python实现最小二乘法线性拟合
本文python代码实现的是最小二乘法线性拟合,并且包含自己造的轮子与别人造的轮子的结果比较. 问题:对直线附近的带有噪声的数据进行线性拟合,最终求出w,b的估计值. 最小二乘法基本思想是使得样本方差最小. 代码中self_func()函数为自定义拟合函数,skl_func()为调用scikit-learn中线性模块的函数. import numpy as np import matplotlib.pyplot as plt from sklearn.linear_model import Li
-
python如何实现数据的线性拟合
实验室老师让给数据画一张线性拟合图.不会matlab,就琢磨着用python.参照了网上的一些文章,查看了帮助文档,成功的写了出来 这里用到了三个库 import numpy as np import matplotlib.pyplot as plt from scipy import optimize def f_1(x, A, B): return A * x + B plt.figure() # 拟合点 x0 = [75, 70, 65, 60, 55,50,45,40,35,30] y0
-
python数据分析之单因素分析线性拟合及地理编码
目录 一.单因素分析线性拟合 二.实现地理编码 一.单因素分析线性拟合 功能:线性拟合,单因素分析,对散点图进行线性拟合,并放大散点图的局部位置 输入:某个xlsx文件,包含'患者密度(人/10万人)'和'人口密度(人/平方千米)'两列 输出:对这两列数据进行线性拟合,绘制散点 实现代码: import pandas as pd from pylab import mpl from scipy import optimize import numpy as np import matplotli
-
python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案
第一种是进行多项式拟合,数学上可以证明,任意函数都可以表示为多项式形式.具体示例如下. ###拟合年龄 import numpy as np import matplotlib.pyplot as plt #定义x.y散点坐标 x = [10,20,30,40,50,60,70,80] x = np.array(x) print('x is :\n',x) num = [174,236,305,334,349,351,342,323] y = np.array(num) print('y is
-
Python机器学习应用之基于线性判别模型的分类篇详解
目录 一.Introduction 1 LDA的优点 2 LDA的缺点 3 LDA在模式识别领域与自然语言处理领域的区别 二.Demo 三.基于LDA 手写数字的分类 四.小结 一.Introduction 线性判别模型(LDA)在模式识别领域(比如人脸识别等图形图像识别领域)中有非常广泛的应用.LDA是一种监督学习的降维技术,也就是说它的数据集的每个样本是有类别输出的.这点和PCA不同.PCA是不考虑样本类别输出的无监督降维技术. LDA的思想可以用一句话概括,就是"投影后类内方差最小,类间方
-
Python 普通最小二乘法(OLS)进行多项式拟合的方法
多元函数拟合.如 电视机和收音机价格多销售额的影响,此时自变量有两个. python 解法: import numpy as np import pandas as pd #import statsmodels.api as sm #方法一 import statsmodels.formula.api as smf #方法二 import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D df = pd.read_c
-
对python实现二维函数高次拟合的示例详解
在参加"数据挖掘"比赛中遇到了关于函数高次拟合的问题,然后就整理了一下源码,以便后期的学习与改进. 在本次"数据挖掘"比赛中感觉收获最大的还是对于神经网络的认识,在接近一周的时间里,研究了进40种神经网络模型,虽然在持续一周的挖掘比赛把自己折磨的惨不忍睹,但是收获颇丰.现在想想也挺欣慰自己在这段时间里接受新知识的能力.关于神经网络方面的理解会在后续博文中补充(刚提交完论文,还没来得及整理),先分享一下高次拟合方面的知识. # coding=utf-8 import
-
pytorch实现线性拟合方式
一维线性拟合 数据为y=4x+5加上噪音 结果: import numpy as np from mpl_toolkits.mplot3d import Axes3D from matplotlib import pyplot as plt from torch.autograd import Variable import torch from torch import nn X = torch.unsqueeze(torch.linspace(-1, 1, 100), dim=1) Y =
-
一个Python优雅的数据分块方法详解
目录 1.背景 2.islice 2.1示例 2.2只指定步长 3.iter 3.1常规使用 3.2进阶使用 4.islice 和 iter 组合使用 5.总结 1.背景 看到这个标题你可能想一个分块能有什么难度?还值得细说吗,最近确实遇到一个有意思的分块函数,写法比较巧妙优雅,所以写一个分享. 日前在做需求过程中有一个对大量数据分块处理的场景,具体来说就是几十万量级的数据,分批处理,每次处理100个.这时就需要一个分块功能的代码,刚好项目的工具库中就有一个分块的函数.拿过函数来用,发现还挺好用
随机推荐
- ASP实现文件上传的方法
- Sql中存储过程的定义、修改和删除操作
- VBS教程:函数-Join 函数
- asp.net下日期和时间处理的类库
- mysql desc(DESCRIBE)命令实例讲解
- 深入理解PHP之源码目录结构与功能说明
- MySQL实现创建存储过程并循环添加记录的方法
- PHP过滤★等特殊符号的正则
- php遍历、读取文件夹中图片并分页显示图片的方法
- DIV+CSS设计的动感横向导航
- js隔行变色、鼠标划过变色代码
- java中关于文本文件的读写方法实例总结
- Windows 2003火热实用技巧
- 路由器的基本配置
- Python多线程编程(二):启动线程的两种方法
- 使用户点击后退按钮使效三行代码
- java异常继承何类,运行时异常与一般异常的区别(详解)
- 四步轻松搞定java web每天定时执行任务
- 对python3 urllib包与http包的使用详解
- iOS开发教程之单例使用问题详析