m******r 发帖数: 1033 | 1 民科一枚,想请教一下R语言里面你们是如何做parameter tuning的。 比如说随机森林
法,至少有两个参数,mtree, mtry。一个参数比如选5~10个数,mtree = 10, 50, 100
, 500, 1000, 1500, etc
另外一个参数mtry,再选5 ~10个数 mtry = 2, 5, 10, 15, 20, etc. 这个grid就有25
~ 100节点。
如果fold = 5 (似乎不能再小了吧?),如果想要遍历所有的grid, 所花的时间非常的
大,我是民科,只有最简单的笔记本,平时上班用,只好晚上跑;冬天还好,可以开着
窗户跑,夏天听着风扇玩命转 真是心疼啊;公家东西也不能糟蹋,是不是。 更重要的
是,晚上要是跑不完, 早上起来就得强行关掉,否则上班没法用这个机器。 这样就浪
费了一晚上的工作量。
第二个问题,随机森林还算好对付,民科我也知道森林大小怎么也不会超过5000, 变量
个数也是有限的。 可是其他方法矢量机啦, 收缩网啦,那些混合系数,惩罚系数从百
万分之一,到一百万都有可能;这种几乎没有上限的参数,你们怎么试验? 对于混合
系数,也许可以试试0, .1, .2, .3,...1 请问还有更好的方法嘛? | g****t 发帖数: 31659 | | w********m 发帖数: 1137 | 3 其实做统计用R的,对随机森林这些完全没有需求,没地方用。 | v*******e 发帖数: 11604 | 4 就学校里面憋文章的phd们用用,贡献了许多的degrees,功劳大大的。
: 其实做统计用R的,对随机森林这些完全没有需求,没地方用。
【在 w********m 的大作中提到】 : 其实做统计用R的,对随机森林这些完全没有需求,没地方用。
| n******7 发帖数: 12463 | 5 grid search 还是上cluster吧
几百个node跑一天等于你跑一年
100
25
【在 m******r 的大作中提到】 : 民科一枚,想请教一下R语言里面你们是如何做parameter tuning的。 比如说随机森林 : 法,至少有两个参数,mtree, mtry。一个参数比如选5~10个数,mtree = 10, 50, 100 : , 500, 1000, 1500, etc : 另外一个参数mtry,再选5 ~10个数 mtry = 2, 5, 10, 15, 20, etc. 这个grid就有25 : ~ 100节点。 : 如果fold = 5 (似乎不能再小了吧?),如果想要遍历所有的grid, 所花的时间非常的 : 大,我是民科,只有最简单的笔记本,平时上班用,只好晚上跑;冬天还好,可以开着 : 窗户跑,夏天听着风扇玩命转 真是心疼啊;公家东西也不能糟蹋,是不是。 更重要的 : 是,晚上要是跑不完, 早上起来就得强行关掉,否则上班没法用这个机器。 这样就浪 : 费了一晚上的工作量。
| m******r 发帖数: 1033 | 6 我知道你水平高,帮帮忙吧。
其实我只要一个range, 这样的要求,算不算太高?
另外别人是怎么做的 ? 我不相信他们他们撒大网一样试参数。
【在 g****t 的大作中提到】 : 找个好电脑,找个快速语言。
| g****t 发帖数: 31659 | 7 我哪有什么水平啊。
我说的是真的,通用的办法真的只有换电脑。你先把
另外我也在找合适的语言。如果找到个好语言,一天能多试验
一些算法和策略,差别是很大的。就是启发式的瞎猜呗。
【在 m******r 的大作中提到】 : 我知道你水平高,帮帮忙吧。 : 其实我只要一个range, 这样的要求,算不算太高? : 另外别人是怎么做的 ? 我不相信他们他们撒大网一样试参数。
| w***g 发帖数: 5958 | 8 我还真没做过grid search. 下面是我这次kaggle比赛的xgboost参数
model = XGBClassifier(n_estimators=1200, learning_rate=0.01,max_depth=2,
subsample=0.9, colsample_bytree=0.4)
最佳n_estimators随learning_rate增加而增加。这两个是相关的。
learning_rate=0.1时最佳的n_estimator大致是100的样子。
max_depth的最佳值和别的都没啥关系。这次铁定是2.
然后大致调下剩下两个参数,就定了。
grid search我觉得做得太绝,也有可能伤人品,一直没用过(开销也大,我没这耐心)
【在 n******7 的大作中提到】 : grid search 还是上cluster吧 : 几百个node跑一天等于你跑一年 : : 100 : 25
| m******r 发帖数: 1033 | 9 这话怎么讲, 给说说 ?max_depth = 2 是由于某种原因,或者基于你的判断得来的。
好,那还剩下两个参数, 怎么办? 难道不是做grid search ? 就算你事先知道一定的
range, 比如【0, 1】, 那么应该实验10次, 100次,甚至1000次 ? 谁能说得清?
心)
【在 w***g 的大作中提到】 : 我还真没做过grid search. 下面是我这次kaggle比赛的xgboost参数 : model = XGBClassifier(n_estimators=1200, learning_rate=0.01,max_depth=2, : subsample=0.9, colsample_bytree=0.4) : 最佳n_estimators随learning_rate增加而增加。这两个是相关的。 : learning_rate=0.1时最佳的n_estimator大致是100的样子。 : max_depth的最佳值和别的都没啥关系。这次铁定是2. : 然后大致调下剩下两个参数,就定了。 : grid search我觉得做得太绝,也有可能伤人品,一直没用过(开销也大,我没这耐心)
| n******g 发帖数: 2201 | 10 Mtree = 100
Mtry = 根号p
用不着grid search
[在 magliner (magliner) 的大作中提到:]
:民科一枚,想请教一下R语言里面你们是如何做parameter tuning的。 比如说随机森
林法,至少有两个参数,mtree, mtry。一个参数比如选5~10个数,mtree = 10, 50,
100, 500, 1000, 1500, etc
:另外一个参数mtry,再选5 ~10个数 mtry = 2, 5, 10, 15, 20, etc. 这个grid就有25
~ 100节点。
:如果fold = 5 (似乎不能再小了吧?),如果想要遍历所有的grid, 所花的时间非常的
:大,我是民科,只有最简单的笔记本,平时上班用,只好晚上跑;冬天还好,可以开
着窗户跑,夏天听着风扇玩命转 真是心疼啊;公家东西也不能糟蹋,是不是。 更重要
的是,晚上要是跑不完, 早上起来就得强行关掉,否则上班没法用这个机器。 这样就
浪费了一晚上的工作量。
:第二个问题,随机森林还算好对付,民科我也知道森林大小怎么也不会超过5000, 变
量个数也是有限的。 可是其他方法矢量机啦, 收缩网啦,那些混合系数,惩罚系数从百
:万分之一,到一百万都有可能;这种几乎没有上限的参数,你们怎么试验? 对于混合
:系数,也许可以试试0, .1, .2, .3,...1 请问还有更好的方法嘛? | | | m******r 发帖数: 1033 | 11 奇怪,怎么就伤人品了 ? 难道业界真有这种说法? 我怎么不知道。
我说做gridsearch, 都是从书上看的。 不是我自己想的。
心)
【在 w***g 的大作中提到】 : 我还真没做过grid search. 下面是我这次kaggle比赛的xgboost参数 : model = XGBClassifier(n_estimators=1200, learning_rate=0.01,max_depth=2, : subsample=0.9, colsample_bytree=0.4) : 最佳n_estimators随learning_rate增加而增加。这两个是相关的。 : learning_rate=0.1时最佳的n_estimator大致是100的样子。 : max_depth的最佳值和别的都没啥关系。这次铁定是2. : 然后大致调下剩下两个参数,就定了。 : grid search我觉得做得太绝,也有可能伤人品,一直没用过(开销也大,我没这耐心)
| n******7 发帖数: 12463 | 12 你是根正苗红道上的,追本溯源,讲究江湖规矩
我这种野路子三脚猫,不求甚解,只图简单粗暴
心)
【在 w***g 的大作中提到】 : 我还真没做过grid search. 下面是我这次kaggle比赛的xgboost参数 : model = XGBClassifier(n_estimators=1200, learning_rate=0.01,max_depth=2, : subsample=0.9, colsample_bytree=0.4) : 最佳n_estimators随learning_rate增加而增加。这两个是相关的。 : learning_rate=0.1时最佳的n_estimator大致是100的样子。 : max_depth的最佳值和别的都没啥关系。这次铁定是2. : 然后大致调下剩下两个参数,就定了。 : grid search我觉得做得太绝,也有可能伤人品,一直没用过(开销也大,我没这耐心)
| n******7 发帖数: 12463 | 13 这类经典算法,R/python 都是层包裹而已,核心代码应该都是C/C++之类的
瓶颈应该不在语言
【在 g****t 的大作中提到】 : 我哪有什么水平啊。 : 我说的是真的,通用的办法真的只有换电脑。你先把 : 另外我也在找合适的语言。如果找到个好语言,一天能多试验 : 一些算法和策略,差别是很大的。就是启发式的瞎猜呗。
| n******7 发帖数: 12463 | 14 我觉得grid search的粒度不用太细
不管你怎么设置,只要你是根据performance来调参数
都会有overfitting的危险
最普适的模型应该是参数尽可能少,或者少调的
【在 m******r 的大作中提到】 : 这话怎么讲, 给说说 ?max_depth = 2 是由于某种原因,或者基于你的判断得来的。 : 好,那还剩下两个参数, 怎么办? 难道不是做grid search ? 就算你事先知道一定的 : range, 比如【0, 1】, 那么应该实验10次, 100次,甚至1000次 ? 谁能说得清? : : 心)
| w***g 发帖数: 5958 | 15 总结的很到位。我说的伤人品其实也是这个意思,凡事留点余地少点overfit。
【在 n******7 的大作中提到】 : 我觉得grid search的粒度不用太细 : 不管你怎么设置,只要你是根据performance来调参数 : 都会有overfitting的危险 : 最普适的模型应该是参数尽可能少,或者少调的
| m*****n 发帖数: 3575 | 16 关键的问题在于循环里不能用这三个函数
c()
cbind()
rbind()
但凡你用了,慢得出奇。
解决办法是刚开始就建好纯零矩阵,然后填数。
快百倍不止。 | m*****n 发帖数: 3575 | 17 即使用一个向量,不断的滚动刷新,也比任何带有变量重构的命令强。 | g****t 发帖数: 31659 | 18 我自己写算法,不用这些库。所以需要找个比c好的语言。
【在 n******7 的大作中提到】 : 这类经典算法,R/python 都是层包裹而已,核心代码应该都是C/C++之类的 : 瓶颈应该不在语言
| n******7 发帖数: 12463 | 19 即使自己写,R/python 或者matlab什么的 积木都给你了
自己拼吧拼吧大部分时候够用了
实在不行地方自己写点c
【在 g****t 的大作中提到】 : 我自己写算法,不用这些库。所以需要找个比c好的语言。
| g****t 发帖数: 31659 | 20 我18年前硕士论文就是Ann
跟现在这波不是一挂的
现在这波还没收敛
我觉得跳进去没必要
: 即使自己写,R/python 或者matlab什么的 积木都给你了
: 自己拼吧拼吧大部分时候够用了
: 实在不行地方自己写点c
【在 n******7 的大作中提到】 : 即使自己写,R/python 或者matlab什么的 积木都给你了 : 自己拼吧拼吧大部分时候够用了 : 实在不行地方自己写点c
| n******t 发帖数: 4406 | 21 不想troll,但是不幸的是,真的沒有什麼比C好的語言。
【在 g****t 的大作中提到】 : 我自己写算法,不用这些库。所以需要找个比c好的语言。
| c*******v 发帖数: 2599 | 22 我基本上同意。但是这个问题我还没有彻底想透。
找找别的语言,看看别人的设计和卖点,就是积累一些有意义的错误吧。
【在 n******t 的大作中提到】 : 不想troll,但是不幸的是,真的沒有什麼比C好的語言。
|
|