这个随机森林是否适合?

时间:2019-01-27 14:46:12

标签: scikit-learn random-forest

我正在从scikit-learn库中训练有关时间数据的RandomForestRegressor,并希望森林以日期和时间为特征来预测趋势(接下来的4点)。

我正在以较小的间隔(4个数据点)预测数据,并尝试重建全天趋势以与实际值进行比较,并通过切片数据集来计算MSE

正如您在下图(第一个图)中所看到的,预测行具有一些与实际数据行非常相似的补丁。唯一的问题是,与实际线条相比,那些相似的色块在时间上领先(在图形上用黑色圆圈标记)

这是否意味着该模型已经学习了训练数据,并且吐出了所记住的最后一个值?我目前尚未进行任何模型调整,仅进行数据收集和结果评估

添加了没有黑色标记的图形,因此更容易看到线条

enter image description here

enter image description here

编辑: 我已经编辑了预测,因为我担心代码中会产生以前的图形错误

如@vpekar在评论中所建议,我已经 a)比较了样本外和样本内评估后的MSE 。十个样本外评估后的MSE中位数为4.14e-08,而十个样本内评估后的MSE中位数为5.30e-08。图3显示了这两个结果或多或少的样子。 Figure 1图3

所有评估均使用标准的非调整模型进行

`RandomForestRegressor(n_estimators=10000, criterion='mse', max_depth=None, min_samples_split=2, min_samples_leaf=1,max_features=5, max_leaf_nodes=None, bootstrap=False, oob_score=False, n_jobs=1, verbose=0, warm_start=False)`

此后,我对模型参数进行了 b)随机搜索,并在6.3e-06样本外评估中获得了最佳结果(图4)(比MSE的MSE差100倍)默认模型),其参数如下:

bootstrap=False, criterion=mse, max_depth=35, max_features=1, max_leaf_nodes=60, min_impurity_decrease=0 min_impurity_split=None, min_samples_leaf=74, min_samples_split=64, min_weight_fraction_leaf=0 n_estimators=10000, n_jobs=1, oob_score=False, random_state=None, verbose=0, warm_start=False

enter image description here图4

问题:就我的数据而言,这是否意味着默认的RandomForestRegressor参数导致模型过度拟合? (图3)

0 个答案:

没有答案