问题:
模型是用一些用户数据,和共享单车的数据,来预测某一次共享单车骑行会不会超过3km。
数据有30万行,特征不到20个
我现在用random forest一直出现过拟合的情况,train的时候接近100%,test就70%,但是我设置数的深度和个数来调整train accuracy的时候,train accuracy降下来了,但是test没有任何提示?
想问问大家这有什么办法解决?
是需要收集更多特征吗?还是调参?
3个回答
交叉验证了解一下
SofaSofa数据科学社区DS面试题库 DS面经你的test set是哪里来的?如果test set和training set不是来自于同一个总体,或者分布差距很大,的确会出现题主的情况。
1.有可能问题本身就很难。你可以把骑行距离的直方图或PCA后的散点图(scatter)画出来,看3km是否是一个好的分类的划分值。比如3km是一个峰值,左右两边都集中有很多数据,这样的分类问题就很困难。如果没有特殊要求,可以考虑变为其他值,或者变成回归问题。
2.每次只Random Search一项参数,这样search的精度更高,容易找到重要的参数。
3. 试试其他方法,比如Neural Network。一般Neural Network 分类优于Ramdom Forest。
SofaSofa数据科学社区DS面试题库 DS面经 相关主题
线下训练集和测试集防过拟合
1回答
为什么过拟合不好?
8回答
关于LR过拟合的数据集问题
1回答
训练集加入噪声防止over fitting还是加剧overfitting?
3回答
unsupervised learning也会over-fitting吗?
2回答
xgboost是如何实现early stopping防止过拟合的?
1回答
最小角回归是天然的LASSO化?正则化参数怎么体现?
3回答
正则项里的L1,L2是什么意思?
1回答
我们谢绝在回答前讲“生动”的故事。
我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。
我们谢绝答非所问。
我们谢绝自己不会、硬要回答。
我们感激每一个用户在编写答案时的努力与付出!