Random Forest 过拟合有什么好办法?

  统计/机器学习 监督式学习 模型验证    浏览次数: 207
0

问题:

模型是用一些用户数据,和共享单车的数据,来预测某一次共享单车骑行会不会超过3km。


数据有30万行,特征不到20个


我现在用random forest一直出现过拟合的情况,train的时候接近100%,test就70%,但是我设置数的深度和个数来调整train accuracy的时候,train accuracy降下来了,但是test没有任何提示?


想问问大家这有什么办法解决?


是需要收集更多特征吗?还是调参?



 

superives   2018-05-07 07:55



   3个回答 
0

交叉验证了解一下

陈十一   2018-05-07 10:40

试过了,没有明显的效果。我用了random search 100次加上交叉验证,结果还是差不多,我想问这种情况正常吗?就是training accuracy一直很高,虽然可以调参让它降下去,但是testing的一直升不上来? - superives   2018-05-07 11:23
0

你的test set是哪里来的?如果test set和training set不是来自于同一个总体,或者分布差距很大,的确会出现题主的情况。


Lydia   2018-05-07 12:32

test就是我从train的选出来的20%,是来自同一总体的。我想问一下是,random forest经常会出现这种情况吗?还是我调参不够好 - superives   2018-05-07 13:21
0

1.有可能问题本身就很难。你可以把骑行距离的直方图或PCA后的散点图(scatter)画出来,看3km是否是一个好的分类的划分值。比如3km是一个峰值,左右两边都集中有很多数据,这样的分类问题就很困难。如果没有特殊要求,可以考虑变为其他值,或者变成回归问题。

2.每次只Random Search一项参数,这样search的精度更高,容易找到重要的参数。

3. 试试其他方法,比如Neural Network。一般Neural Network 分类优于Ramdom Forest。

Zealing   2018-05-07 14:32

谢谢提醒,我试过了nn,调了不一样的参数后,得到的结果居然和rf也差不多,可能我要看看3km是不是个好分类器。。 - superives   2018-05-08 00:20
有时test error是有上限的,比如说强行要把一个高斯从中间分为两个高斯,可以从理论上计算出error的上限。 - Zealing   2018-05-09 02:20


  相关主题

决策树模型有什么特点以及如何防止过拟合?   2回答

线下训练集和测试集防过拟合   1回答

为什么过拟合不好?   6回答

训练集加入噪声防止over fitting还是加剧overfitting?   3回答

无监督学习(比如K Means)里怎么加正则项来防止过拟合   3回答

L1正则化和L2正则化的区别?L1为啥具有稀疏性?   4回答

正则项里的L1,L2是什么意思?   1回答

L0 norm 正则是什么意思?   1回答

为什么正则项通常都是用L1或者L2,而不是其他的?   1回答

如何简单理解正则化   1回答

随机森林如何调参?   3回答

决策树可以做多元分类吗?   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!