gpt4 book ai didi

python - 从使用 matplotlib 绘制的数据进行推断

转载 作者:太空狗 更新时间:2023-10-30 00:24:39 24 4
gpt4 key购买 nike

我的文件中有 10 个 x 和 y 值。

有什么方法可以推断图形,即将它变成连续函数并增加 matplotlib 中其他 x 值的范围??

如果有人能告诉我是否还有其他软件可以使用,我将不胜感激。我基本上希望这 10 个值近似于一个连续函数,这样我就可以知道某个随机 x 点的 y 值。

最佳答案

下面我使用了 Scipy,但是 same 函数(polyvalpolyfit)也在 NumPy; NumPy 是 Matplotlib 依赖项,因此如果您没有安装 SciPy,您可以从那里导入这两个函数。

import numpy as NP
from scipy import polyval, polyfit
from matplotlib import pyplot as PLT

n=10 # 10 data points
# make up some data
x = NP.linspace(0, 1, n)
y = 7*x**2 - 5*x + 3
# add some noise
noise = NP.random.normal(.5, .3, 10)
y += noise

# the shape of the data suggests a 2d polynomial, so begin there
# a, b, c are the polynomial coefficients: ax^2 + bx + c
a, b, c = polyfit(x, y, 2)
y_pred = polyval([a, b, c], x) # y_pred refers to predicted values of y

# how good is the fit?
# calculate MSE:
MSE = NP.sqrt( NP.sum((y_pred-y)**2)/10 )
# MSE = .2

# now use the model polynomial to generate y values based on x values outside
# the range of the original data:
x_out = NP.linspace(0, 2, 20) # choose 20 points, 10 in, 10 outside original range
y_pred = polyval([a, b, c], x_out)

# now plot the original data points and the polynomial fit through them
fig = PLT.figure()
ax1 = fig.add_subplot(111)

ax1.plot(x, y, 'g.', x_out, y_pred, 'b-' )

PLT.show()

alt text

关于python - 从使用 matplotlib 绘制的数据进行推断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4296603/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com