Redian新闻
>
求教 xgboost train error 非常小,咋回事
avatar
g*u
2
features dim 大概有60
做多类分类
总共有训练样本10,000 测试样本2000
iteration set 1000
训练样本从1000 逐渐增加到10,000, train error 一直是 0 .。。
test error 在样本增加到7000左右的时候 变很小
其他还可以解释.
这个training error 随着样本增加 都不变 而且一直是 0.
哪里可能出问题?谢谢
avatar
w*2
3
has home button

【在 b*p 的大作中提到】
: ??
avatar
w*g
4
xgb就是train error很小的。你把树深度缩小点能有改进。

:features dim 大概有60
:做多类分类
avatar
g*u
5
多谢大神指点, 那就说问题不大呗?现在树深 10. 三类问题。看到train error 0 怕
给老板到最后闹乌龙。
另外感觉 xgboost 也基本不需要调参数啊。。。。也就是树的深度调节一下, 循环
次数调节一下
eta 大部分情况 0.1 or 0.08就很好用。其他 也基本不需要调节啊。

【在 w***g 的大作中提到】
: xgb就是train error很小的。你把树深度缩小点能有改进。
:
: :features dim 大概有60
: :做多类分类

avatar
w*g
6
树深10那绝对太深了。我用xgb做了不少东西啦,树深从没超过3。

【在 g*******u 的大作中提到】
: 多谢大神指点, 那就说问题不大呗?现在树深 10. 三类问题。看到train error 0 怕
: 给老板到最后闹乌龙。
: 另外感觉 xgboost 也基本不需要调参数啊。。。。也就是树的深度调节一下, 循环
: 次数调节一下
: eta 大部分情况 0.1 or 0.08就很好用。其他 也基本不需要调节啊。

avatar
m*r
7
xgb参数挺多的,好像5,6个都不止。
avatar
g*u
8
哪几个比较重要需要调节 ? 谢谢

【在 m******r 的大作中提到】
: xgb参数挺多的,好像5,6个都不止。
avatar
g*u
9
看来 overfit了, 但是 在测试机上 效果还可以啊。。。这怎么办?
深度深, training error 0, 测试data 结果还不错, 只有 精度 99%。
我试试 浅点3,4 之类的 ? 但是那样test 结果就差了,精度 96%。
这怎么算?

【在 w***g 的大作中提到】
: 树深10那绝对太深了。我用xgb做了不少东西啦,树深从没超过3。
avatar
n*g
10
魏老师威武!
哈哈问个初级问题 这model 咋储存的?如果是linear regression 那么好办 存个
weights array w1 w2 ... 就好
这种树模型是咋存到memory里的?
不好意思钱老转行 基础知识不扎实
[在 wdong (万事休) 的大作中提到:]
:树深10那绝对太深了。我用xgb做了不少东西啦,树深从没超过3。
avatar
m*r
11
你要是用R的话,可以把模型dump成为txt文件或json文件,得到的无非是一堆树, 每
个树无非是if, else 其实挺简单的。 预测的时候,每一颗树对一个observation计算
一下,比如200棵树,你就有200个值(概率),自己求个平均。
我上回碰到个问题: 明明模型训练时我看有比如200个iteration, dump出来的树有201
棵,没想出来怎么回事,也许你可以看看。

【在 n******g 的大作中提到】
: 魏老师威武!
: 哈哈问个初级问题 这model 咋储存的?如果是linear regression 那么好办 存个
: weights array w1 w2 ... 就好
: 这种树模型是咋存到memory里的?
: 不好意思钱老转行 基础知识不扎实
: [在 wdong (万事休) 的大作中提到:]
: :树深10那绝对太深了。我用xgb做了不少东西啦,树深从没超过3。

avatar
n*g
12
理解点了 你说的挺好 大概是一堆Boolean 函数?
[在 magliner (magliner) 的大作中提到:]
:你要是用R的话,可以把模型dump成为txt文件或json文件,得到的无非是一堆树, 每
:个树无非是if, else 其实挺简单的。 预测的时候,每一颗树对一个observation计
算一下,比如200棵树,你就有200个值(概率),自己求个平均。
:我上回碰到个问题: 明明模型训练时我看有比如200个iteration, dump出来的树有
201棵,没想出来怎么回事,也许你可以看看。
avatar
w*g
13
可能你的问题就是需要比较深的。3不够再试456。我还是觉得不需要到10。
不过test如果到了0.99了,也没必要再折腾了。
一般就是training accuracy >> test accuracy时要尝试减小树的深度,增加
regularization。 一直减/加到test accuracy不再升高为止。

【在 g*******u 的大作中提到】
: 多谢大神指点, 那就说问题不大呗?现在树深 10. 三类问题。看到train error 0 怕
: 给老板到最后闹乌龙。
: 另外感觉 xgboost 也基本不需要调参数啊。。。。也就是树的深度调节一下, 循环
: 次数调节一下
: eta 大部分情况 0.1 or 0.08就很好用。其他 也基本不需要调节啊。

avatar
g*u
14
是啊
有尝试了下
深度 减少到3,4 的时候 精度是 98%多点吧 之前算错了
但是10的 时候 可以到 99%
之前觉得犹豫也是因为 虽然觉得可能overfit 但是 testdata上 比较好 。
不过很好的 经验了 记下了
另外 我这个问题 要做到 sensitivity 接近 100% specificity最好 95%以上
现在 sensitivity 98.5% specificity 99.2%
sensitivity 还差距很大的。
估计 调整阈值以后 sensitivity 每升一点点, specificity 就会下降很多。。

【在 w***g 的大作中提到】
: 可能你的问题就是需要比较深的。3不够再试456。我还是觉得不需要到10。
: 不过test如果到了0.99了,也没必要再折腾了。
: 一般就是training accuracy >> test accuracy时要尝试减小树的深度,增加
: regularization。 一直减/加到test accuracy不再升高为止。

avatar
h*e
15
试试调class weight吧

【在 g*******u 的大作中提到】
: 是啊
: 有尝试了下
: 深度 减少到3,4 的时候 精度是 98%多点吧 之前算错了
: 但是10的 时候 可以到 99%
: 之前觉得犹豫也是因为 虽然觉得可能overfit 但是 testdata上 比较好 。
: 不过很好的 经验了 记下了
: 另外 我这个问题 要做到 sensitivity 接近 100% specificity最好 95%以上
: 现在 sensitivity 98.5% specificity 99.2%
: sensitivity 还差距很大的。
: 估计 调整阈值以后 sensitivity 每升一点点, specificity 就会下降很多。。

avatar
w*g
16
见识新东西啦

【在 g*******u 的大作中提到】
: 是啊
: 有尝试了下
: 深度 减少到3,4 的时候 精度是 98%多点吧 之前算错了
: 但是10的 时候 可以到 99%
: 之前觉得犹豫也是因为 虽然觉得可能overfit 但是 testdata上 比较好 。
: 不过很好的 经验了 记下了
: 另外 我这个问题 要做到 sensitivity 接近 100% specificity最好 95%以上
: 现在 sensitivity 98.5% specificity 99.2%
: sensitivity 还差距很大的。
: 估计 调整阈值以后 sensitivity 每升一点点, specificity 就会下降很多。。

avatar
g*u
17
我每类别样本数目基本平均 需要调节class weight吗?

【在 h**********e 的大作中提到】
: 试试调class weight吧
avatar
g*u
18
是不是只要在test 数据上 误差小(或者说只要test误差和train误差比较小就可以?
) 就不用管 train 上 error 很小很小的 问题?

【在 w***g 的大作中提到】
: 见识新东西啦
avatar
w*g
19
是的。

【在 g*******u 的大作中提到】
: 是不是只要在test 数据上 误差小(或者说只要test误差和train误差比较小就可以?
: ) 就不用管 train 上 error 很小很小的 问题?

avatar
L*8
20
overfit是个伪概念
数据本身如果没有啥噪声 使劲fit就行了

【在 g*******u 的大作中提到】
: 看来 overfit了, 但是 在测试机上 效果还可以啊。。。这怎么办?
: 深度深, training error 0, 测试data 结果还不错, 只有 精度 99%。
: 我试试 浅点3,4 之类的 ? 但是那样test 结果就差了,精度 96%。
: 这怎么算?

avatar
h*e
21
你每类样本数目虽然平均
但你对每类的准确度要求不是不一样吗

【在 g*******u 的大作中提到】
: 我每类别样本数目基本平均 需要调节class weight吗?
avatar
g*u
22
没调过这个参数啊 不知道咋用啊。。。。
简单说几句?
thx

【在 h**********e 的大作中提到】
: 你每类样本数目虽然平均
: 但你对每类的准确度要求不是不一样吗

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。