从一些数据中生成二次多项式
Generating 2nd degree polynomial out of some data
我有一些数据想要生成像这样的二阶 polyfit 作为示例:
我尝试了两种不同的代码,但多项式只是试图遍历所有点。
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
data = pd.read_csv('TESTEXskelet.csv', sep=",")
x = data.Gennemsnitlig_hastighed
y1 = data.Sum_VSP
np.polyfit(x,y1,2)
plt.grid()
plt.title("VSP sum/hastighed")
plt.ylabel('VSP - kW/ton')
plt.xlabel('Hastighed - km/t')
plt.scatter(x,y1,s=5) # Definere selve plottet
plt.plot(x, y1)
但随后它通过每个点绘制它。
我也尝试过 sklearn,如果需要我可以上传。
您正确地拟合了一个二阶多项式。你只是没有在之后的情节中使用它。
plt.scatter(x,y1,s=5)
绘制原始数据的散点图,plt.plot(x, y1)
绘制贯穿所有数据的直线。
要绘制多项式,您需要将多项式拟合到一个变量中。然后为要绘制的 x-axis 定义一个范围,并根据多项式拟合预测 y 值:
p = np.polyfit(x,y1,2)
xn = np.linspace(np.min(x), np.max(x), 100)
yn = np.poly1d(p)(xn)
plt.scatter(x,y1,s=5)
plt.plot(xn, yn)
polyfit
returns 多项式的参数,试试
p = np.polyfit(x,y1,2)
y2 = np.polyval(p, x)
plt.plot(x, y2)
我有一些数据想要生成像这样的二阶 polyfit 作为示例:
我尝试了两种不同的代码,但多项式只是试图遍历所有点。
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
data = pd.read_csv('TESTEXskelet.csv', sep=",")
x = data.Gennemsnitlig_hastighed
y1 = data.Sum_VSP
np.polyfit(x,y1,2)
plt.grid()
plt.title("VSP sum/hastighed")
plt.ylabel('VSP - kW/ton')
plt.xlabel('Hastighed - km/t')
plt.scatter(x,y1,s=5) # Definere selve plottet
plt.plot(x, y1)
但随后它通过每个点绘制它。
我也尝试过 sklearn,如果需要我可以上传。
您正确地拟合了一个二阶多项式。你只是没有在之后的情节中使用它。
plt.scatter(x,y1,s=5)
绘制原始数据的散点图,plt.plot(x, y1)
绘制贯穿所有数据的直线。
要绘制多项式,您需要将多项式拟合到一个变量中。然后为要绘制的 x-axis 定义一个范围,并根据多项式拟合预测 y 值:
p = np.polyfit(x,y1,2)
xn = np.linspace(np.min(x), np.max(x), 100)
yn = np.poly1d(p)(xn)
plt.scatter(x,y1,s=5)
plt.plot(xn, yn)
polyfit
returns 多项式的参数,试试
p = np.polyfit(x,y1,2)
y2 = np.polyval(p, x)
plt.plot(x, y2)