如何设置xgboost的lambda参数

jav*_*dba 5 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)
Run Code Online (Sandbox Code Playgroud)

嗯..lambda是我们所知的python 关键字。所以我们还没有让编译器..高兴..

    lambda=Lambda)
          ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

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

Chr*_*ris 7

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

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