如何为 xgboost 设置 lambda 参数

How to set the lambda parameter for xgboost

我有一个有趣的小问题:xgboost 有一个 lambda 正则化参数。好吧..他们称之为.. 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 关键字。所以我们还没有制作编译器..高兴..

    lambda=Lambda)
          ^
SyntaxError: invalid syntax

我研究了 python 是否支持转义变量名。 afaict支持。那么..如何设置这个参数(除了使用位置..)

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

您可能想知道为什么 xgb 有一个名为 lambda 的参数,它可以正常工作。原因是因为变量范围是 train 方法的局部范围。