gpt4 book ai didi

python - 拟合线性回归模型的数值误差

转载 作者:行者123 更新时间:2023-11-30 09:18:00 28 4
gpt4 key购买 nike

我开始制作美元到印度卢比兑换的预测模型。我分割了数据,将日期转换为序数格式,并将其拟合到线性回归模型中。

import pandas as pd
from sklearn import linear_model
import matplotlib.pyplot as plt
import datetime as dt
data = pd.read_csv("FED-RXI_N_M_IN.csv")
rates = {}
rates = {'date':[x for x in data.Date],
'rate':[y for y in data.Value]}
df = pd.DataFrame(rates, columns = ["date", "rate"])
dates = df['date']
rates = df['rate']
dates = pd.to_datetime(dates)
dates = dates.map(dt.datetime.toordinal)

#train data
dates_test = dates[0:110]
rates_test = rates[0:110]

#test data
dates_train = dates[110:543]
rates_train = rates[110:543]

plt.plot_date(dates_test, rates_test, fmt="g-")
plt.title('US-INR Currency Predictor')
plt.ylabel("INR rate against $1")
plt.xlabel("Date")

#training
regr = linear_model.LinearRegression()
regr.fit(dates_train,rates_train)
rates_pred = regr.predict(dates_test)
plt.scatter(dates_test, rates_test, color='black')
plt.title('Test Data')
plt.xlabel('Date')
plt.ylabel('Rate')
plt.plot(dates_test, rates_pred, color = 'red', linewidth= 3)
plt.xticks(())
plt.yticks(())
plt.show()
print( str((regr.predict(736753))) )

我在 regr.fit(dates_train,rates_train) 处收到此错误

enter image description here

请帮我解决一下。我是这个领域的初学者。

最佳答案

看起来sklearn需要(行号,列号)的数据形状。为此,您可以使用reshape方法。

此外,您需要将 numpy 数组作为输入传递给 fit 方法。

rates = df['rate'].values.reshape(len(df.index), 1)   

#train data
dates_test = dates[0:110, :]
rates_test = rates[0:110, :]

#test data
dates_train = dates[110:543, :]
rates_train = rates[110:543, :]

关于python - 拟合线性回归模型的数值误差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50149850/

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