随机森林多步预测

问题描述

我目前正在尝试通过 python 中的随机森林算法进行多步预测。我复制了我在网上找到的代码,但我只能生成 1 步预测。我想知道如果我想预测以下 2、3 或 10 个值,我将如何修改代码

提前致谢

# finalize model and make a prediction for monthly births with random forest
from numpy import asarray
from pandas import read_csv
from pandas import DataFrame
from pandas import concat
from sklearn.ensemble import RandomForestRegressor

# transform a time series dataset into a supervised learning dataset
def series_to_supervised(data,n_in=1,n_out=1,dropnan=True):
    n_vars = 1 if type(data) is list else data.shape[1]
    df = DataFrame(data)
    cols = list()
    # input sequence (t-n,... t-1)
    for i in range(n_in,-1):
        cols.append(df.shift(i))
    # forecast sequence (t,t+1,... t+n)
    for i in range(0,n_out):
        cols.append(df.shift(-i))
    # put it all together
    agg = concat(cols,axis=1)
    # drop rows with NaN values
    if dropnan:
        agg.dropna(inplace=True)
    return agg.values

# load the dataset
series = read_csv('csv2.csv',header=0,index_col=0)
values = series.values
# transform the time series data into supervised learning
train = series_to_supervised(values,n_in=50)
# split into input and output columns
trainX,trainy = train[:,:-1],train[:,-1]
# fit model
model = RandomForestRegressor(n_estimators=1000)
model.fit(trainX,trainy)
# construct an input for a new prediction
row = values[-50:].flatten()
# make a one-step prediction
yhat = model.predict(asarray([row]))
print('Input: %s,Predicted: %.3f' % (row,yhat[0]))

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...