繁体   English   中英

使用 Python 对面板数据进行随机森林

Random Forest on Panel Data using Python

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

所以我在面板数据上运行随机森林回归时遇到了一些麻烦。

目前的数据如下所示:

在此处输入图像描述

我想进行随机森林回归,根据我拥有的变量预测每个 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)

然后我希望训练我的 model 并针对测试样本进行测试,但是我不确定如何执行此操作。 我试过这段代码:

from sklearn.ensemble import RandomForestRegressor
rfc = RandomForestRegressor(n_estimators=200)
rfc.fit(X_train, y_train)

但是我收到以下错误消息:

当需要一维数组时,传递了列向量 y。 请将 y 的形状更改为 (n_samples,),例如使用 ravel()。

我不确定这个错误是否从根本上是我的数据排列方式或我做随机森林的方式,所以对此有任何帮助,然后在之后针对测试样本测试数据,将不胜感激。

提前致谢。

1 个回复

只需将y = df[['KwH']]切换为y = df['KwH']y = df.KwH解决此问题。

这是因为scikit-learn不希望y成为 dataframe,并且选择带有双[[...]]的列恰好返回 dataframe。

6 Python中的随机森林

我已经在python中运行了一个随机森林模型,并且能够看到分类表。 但是,我希望从python中的数据准备,模型运行,模型验证和准确性检查的代码开始,涵盖所有方面的全面代码? 我的模型中出现很多误报。 任何改进的帮助也将非常有帮助。 ...

8 如何使用CSV文件中包含的数据开发随机森林Python模型?

我一直在尝试训练一个随机森林模型,以使用Python预测CSV文件中包含的数据。 此处显示CSV文件的第一行。 我对训练模型以使用其他变量(日期时间除外)预测J列的值感兴趣。 当我尝试运行模型时,错误最初指出: 我将'datetime'列转换为datetime格式,以查看是否有帮助,但现在出现错 ...

10 关于使用R的随机森林的不同结果

我拟合了随机森林模型,其中使用插入符号包进行交叉验证,发现每个分割处的变量数mtry被发现。 我的代码如下, 我使用所有数据获得了最终模型,并且mtry = 2,如下所示, 但是当我使用randomforest软件包对整个数据使用mtry = 2的相同模型时,我得到了不同的结果 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM