xgboost 的哪些功能受种子 (random_state) 影响?
What features of xgboost are affected by seed (random_state)?
除了 seed=
参数传递给 numpy.random.seed
:
之外,Python API 没有提供更多信息
seed (int) – Seed used to generate the folds (passed to numpy.random.seed).
但是 xgboost
的哪些功能使用 numpy.random.seed
?
- 运行
xgboost
所有默认设置即使在更改种子时仍会产生相同的性能。
- 我已经能够验证
colsample_bytree
这样做了;不同的种子产生不同的性能。
- 我听说它也被
subsample
和其他 colsample_*
功能使用,这似乎是合理的,因为任何形式的抽样都需要随机性。
xgboost
的哪些其他功能依赖于 numpy.random.seed
?
好吧,如果您想要详尽的列表,可以在 GitHub 查看源代码。在 github 上使用关键字搜索可获得良好的指示。
search for 'rand' - 15 个结果
search for 'seed' and python filter - 20 个结果
提升树按顺序生长,一次迭代内的树生长分布在线程之间。为了避免过度拟合,通过以下参数引入随机性:
colsample_bytree
colsample_bylevel
colsample_bynode
subsample
(注意 *sample*
模式)
shuffle
在创建用于交叉验证的 CV 文件夹中
另外,你可能会在以下地方遇到非确定性,不受随机状态控制:
[GPU] histogram building is not deterministic due to the nonassociative aspect of floating point summation.
Using gblinear booster with shotgun updater is nondeterministic as it uses Hogwild algorithm
when using GPU ranking objective, the result is not deterministic due to the non-associative aspect of floating point summation.
评论回复:你怎么知道的?
知道这个很有帮助:
了解树木的生长方式:Demystify Modern Gradient Boosting Trees(参考资料也可能有帮助)
正在扫描文档 full text 以获取感兴趣的术语:random
、sample
、deterministic
、determinism
等
最后(首先?),了解为什么需要抽样和类似案例(如袋装树)(RANDOM FORESTS by Leo Breiman) and neural networks (Deep learning with Python 作者 François Chollet,关于过度拟合的章节)也可能有帮助。
除了 seed=
参数传递给 numpy.random.seed
:
seed (int) – Seed used to generate the folds (passed to numpy.random.seed).
但是 xgboost
的哪些功能使用 numpy.random.seed
?
- 运行
xgboost
所有默认设置即使在更改种子时仍会产生相同的性能。 - 我已经能够验证
colsample_bytree
这样做了;不同的种子产生不同的性能。 - 我听说它也被
subsample
和其他colsample_*
功能使用,这似乎是合理的,因为任何形式的抽样都需要随机性。
xgboost
的哪些其他功能依赖于 numpy.random.seed
?
好吧,如果您想要详尽的列表,可以在 GitHub 查看源代码。在 github 上使用关键字搜索可获得良好的指示。
search for 'rand' - 15 个结果
search for 'seed' and python filter - 20 个结果
提升树按顺序生长,一次迭代内的树生长分布在线程之间。为了避免过度拟合,通过以下参数引入随机性:
colsample_bytree
colsample_bylevel
colsample_bynode
subsample
(注意*sample*
模式)shuffle
在创建用于交叉验证的 CV 文件夹中
另外,你可能会在以下地方遇到非确定性,不受随机状态控制:
[GPU] histogram building is not deterministic due to the nonassociative aspect of floating point summation.
Using gblinear booster with shotgun updater is nondeterministic as it uses Hogwild algorithm
when using GPU ranking objective, the result is not deterministic due to the non-associative aspect of floating point summation.
评论回复:你怎么知道的?
知道这个很有帮助:
了解树木的生长方式:Demystify Modern Gradient Boosting Trees(参考资料也可能有帮助)
正在扫描文档 full text 以获取感兴趣的术语:
random
、sample
、deterministic
、determinism
等最后(首先?),了解为什么需要抽样和类似案例(如袋装树)(RANDOM FORESTS by Leo Breiman) and neural networks (Deep learning with Python 作者 François Chollet,关于过度拟合的章节)也可能有帮助。