我想预测能源数据集的年消耗量。可视化后,数据为非线性形式,可以通过对数求解。
但是我预测MSE值较高的模型的精度为0。我只是向您显示图表数据。拟合线不是从第一个值开始。它从y轴的中间开始到最后一个值。
适合vs.原始行:
import matplotlib.pyplot as plt
import scipy.optimize as optimize
import numpy as np
from scipy.optimize import curve_fit
# data
x=df_tot_ac['Year'].values
y=df_tot_ac['AC-Total'].values
plt.plot(x, y, 'ro', label="original data")
# curve fit
def log(x, a, b):
return a+ b*np.log(x)
popt, pcov = curve_fit(log, x, y)#, maxfev=1000)
t = np.linspace(2009,2018, 10)
plt.plot(t, log(t, *popt), label="Fitted Curve")
plt.legend(loc='lower right')
plt.show()