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

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

问题:

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


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


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


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


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



 

superives   2018-05-07 07:55



   3个回答 
0

交叉验证了解一下

SofaSofa数据科学社区DS面试题库 DS面经

陈十一   2018-05-07 10:40

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

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


SofaSofa数据科学社区DS面试题库 DS面经

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。

SofaSofa数据科学社区DS面试题库 DS面经

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回答

随机森林会发生过拟合(overfitting)吗?   2回答

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

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

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

unsupervised learning也会over-fitting吗?   2回答

xgboost是如何实现early stopping防止过拟合的?   1回答

Lasso和岭回归的正则项包含截距(常数项)吗?   2回答

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

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

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

如何理解“迭代步骤本身就是一个正则化的过程”   2回答



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

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

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

我们谢绝答非所问。

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

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