如何为xgboost设置lambda参数

时间:2018-10-20 07:10:05

标签: python xgboost

我有一个有趣的小问题:lambda有一个xgboost正则化参数。嗯..他们称它为.. lambda ..在尝试实际使用该参数时会出现问题:

models["xgboost"] = XGBRegressor(lambda=Lambda,n_estimators=NTrees 
   learning_rate=LearningRate, max_depth=MaxDepth, 
   max_features=MaxFeatures,rate_drop=0, loss="huber",eta=Eta, 
   gamma=Gamma,subsample=Subsample,colsample_bytree=Colsample_bytree,
                                  eval_metric=eval_metric)

好吧。lambda是我们所知道的 python关键字。因此,我们尚未使编译器.. pleased ..

    lambda=Lambda)
          ^
SyntaxError: invalid syntax

我研究了python是否支持转义变量名。 不支持。所以..如何设置该参数(不使用位置..)

1 个答案:

答案 0 :(得分:2)

要查找的XGBRegressor参数为reg_lambda,因为您正在使用xgboost的scikit-learn API

然后,您可能会奇怪为什么xgb有一个名为lambda的参数,该参数可以正常工作。原因是因为变量作用域是train方法的本地变量。