【发布时间】:2021-04-29 15:58:14
【问题描述】:
所以我在面板数据上运行随机森林回归时遇到了一些麻烦。
目前的数据是这样的:
我想进行随机森林回归,根据我拥有的变量预测每个 ID 随时间变化的 KwH。我已使用以下代码将数据拆分为训练和测试样本:
from sklearn.model_selection import train_test_split
X = df[['hour', 'day', 'month', 'dayofweek', 'apparentTemperature',
'summary', 'household_size', 'work_from_home', 'num_rooms',
'int_in_renew', 'int_in_gen', 'conc_abt_cc', 'feel_abt_lifestyle',
'smrt_meter_help', 'avg_gender', 'avg_age', 'house_type', 'sum_insul',
'total_lb', 'total_fridges', 'bigg_apps', 'small_apps',
'look_at_meter']]
y = df[['KwH']]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
然后我希望训练我的模型并针对测试样本进行测试,但是我不确定如何执行此操作。我试过这段代码:
from sklearn.ensemble import RandomForestRegressor
rfc = RandomForestRegressor(n_estimators=200)
rfc.fit(X_train, y_train)
但是我收到以下错误消息:
当需要一维数组时,传递了列向量 y。请将 y 的形状更改为 (n_samples,),例如使用 ravel()。
我不确定该错误是否根本在于我的数据排列方式或我执行随机森林的方式,因此非常感谢您对此提供任何帮助,然后根据测试样本测试数据。
提前致谢。
【问题讨论】:
标签: python scikit-learn random-forest prediction panel-data