[英]Value error in fitting linear regression model
我開始為USD轉換為INR的預測模型。 我拆分了數據,將日期轉換為序數格式,然后將其擬合到LinearRegression模型中。
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)
遇到此錯誤
請幫助我如何解決它。 我是這個領域的初學者。
看起來sklearn需要的數據形狀為(row number, column number)
。 為此,可以使用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, :]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.