0


XGBoost-XGBoost 中验证相关参数梳理和解释

xgb

params 中的参数

evals_metric

Evaluation metrics for validation data, a default metric will be assigned according to objective (rmse for regression, and logloss for classification, mean average precision for ranking)
用于验证数据的评估指标,根据不同的目标函数,会分配默认评估指标(回归使用 rmse,分类使用 logloss,排序使用 mean average precision)

User can add multiple evaluation metrics. Python users: remember to pass the metrics in as list of parameters pairs instead of map, so that latter eval_metric won’t override previous one
使用者可以增加多个评估指标。对于 python 使用者:记得使用参数对列表而不是 map 来传递评估指标,这样之后 eval_metric 不会覆盖之前的参数

xgb.train

参数 evals

evals (Optional[Sequence[Tuple[DMatrix, str]]]) – List of validation sets for which metrics will evaluated during training. Validation metrics will help us track the performance of the model.
evals (Optional[Sequence[Tuple[DMatrix, str]]]) - 在训练时用于指标进行评估的验证集列表。验证指标将追踪我们追踪模型的表现

看一个使用例子

import xgboost as xgb
import pandas as pd

data = pd.read_csv(r'datasets/House Price/train_encode.csv',index_col=0)
X = data.iloc[:,1:-1]
y = data.iloc[:,-1]
data_xgb = xgb.DMatrix(X,y)

params ={'seed':110}
reg = xgb.train(params,data_xgb,evals=[(data_xgb,'1')])---[0]1-rmse:141324.18825[1]1-rmse:101742.53764[2]1-rmse:73935.25993[3]1-rmse:54474.03114[4]1-rmse:40731.85630[5]1-rmse:31195.60285[6]1-rmse:24411.03930[7]1-rmse:19853.62696[8]1-rmse:16684.56856[9]1-rmse:14468.76249

因为

xgb.train

默认

num_boost_round

值为 10,因此这里就只有 10 个结果

这里可以看到,xgb 使用的是 rmse,这是由 params 中的参数

eval_metric

决定的,更改后会有所变化

params ={'seed':110,'eval_metric':['mae','logloss']}
reg = xgb.train(params,data_xgb,num_boost_round=5,evals=[(data_xgb,'1')])---[0]1-mae:127464.835761-logloss:-8647706.64247[1]1-mae:89993.642321-logloss:-8744790.10942[2]1-mae:63811.964171-logloss:-8791131.26995[3]1-mae:45323.297751-logloss:-8817988.95788[4]1-mae:32415.177931-logloss:-8834912.02406
xgb.cv

参数 metrics

metrics (string or list of strings) – Evaluation metrics to be watched in CV.
metrics (string or list of strings) – 在交叉验证中被检测的评估值指标

这个就对应前面

xgb

params 中的参数

evals_metric

,只不过在

xgb.cv

的 params 中没有

evals_metric

。这里也可以使用元组传递多个评估指标


本文转载自: https://blog.csdn.net/liu20020918zz/article/details/129317758
版权归原作者 return bool(1) 所有, 如有侵权,请联系我们删除。

“XGBoost-XGBoost 中验证相关参数梳理和解释”的评论:

还没有评论