8分钟
学习任务参数
1. objective
:指定任务类型,默认为'reg:linear'
。
'reg:linear'
: 线性回归模型。它的模型输出是连续值'reg:logistic'
: 逻辑回归模型。它的模型输出是连续值,位于区间[0,1]
。'binary:logistic'
: 二分类的逻辑回归模型,它的模型输出是连续值,位于区间[0,1]
,表示取正负类别的概率。 它和'reg:logistic'
几乎完全相同,除了有一点不同:'reg:logistic'
的默认evaluation metric
是rmse
。'binary:logistic'
的默认evaluation metric
是error
'binary:logitraw'
: 二分类的逻辑回归模型,输出为分数值(在logistic
转换之前的值)'count:poisson'
: 对count data
的poisson regression
, 输出为泊松分布的均值。'multi:softmax'
: 基于softmax
的多分类模型。此时你需要设定num_class
参数来指定类别数量。'multi:softprob'
: 基于softmax
的多分类模型,但是它的输出是一个矩阵:ndata*nclass
,给出了每个样本属于每个类别的概率。'rank:pairwise'
: 排序模型(优化目标为最小化pairwise loss
)'reg:gamma'
:gamma regression
, 输出为伽马分布的均值。'reg:tweedie'
:'tweedie regression'
。
2. base_score
: 所有样本的初始预测分,它用于设定一个初始的、全局的bias
。 默认为 0.5 。
- 当迭代的数量足够大时,该参数没有什么影响
3. eval_metric
: 用于验证集的评估指标。其默认值和objective
参数高度相关。
回归问题的默认值是rmse
; 分类问题的默认值是error
; 排序问题的默认值是 mean average precision
。
你可以指定多个evaluation metrics
。
如果有多个验证集,以及多个评估指标.则: 使用最后一个验证集的最后一个评估指标来做早停。但是还是会计算出所有的验证集的所有评估指标。
'rmse'
: 均方误差。'mae'
: 绝对值平均误差'logloss'
: 负的对数似然函数'error'
: 二分类的错误率。它计算的是:预测错误的样本数/所有样本数
所谓的预测是:正类概率大于0.5的样本预测为正类;否则为负类(即阈值为 0.5 )'error@t'
: 二分类的错误率。但是它的阈值不再是 0.5, 而是由字符串t
给出(它是一个数值转换的字符串)'merror'
: 多类分类的错误率。它计算的是:预测错误的样本数/所有样本数
'mlogloss'
: 多类分类的负对数似然函数'auc'
:AUC
得分'ndcg'
:Normalized Discounted Cumulative Gain
得分'map'
:Mean average precision
得分'ndcg@n','map@n'
:n
为一个整数,用于切分验证集的top
样本来求值。'ndcg-','map-','ndcg@n-','map@n-'
: NDCG and MAP will evaluate the score of a list without any positive samples as 1. By adding “-” in the evaluation metric XGBoost will evaluate these score as 0 to be consistent under some conditions. training repeatedlypoisson-nloglik
: 对于泊松回归,使用负的对数似然gamma-nloglik
: 对于伽马回归,使用负的对数似然gamma-deviance
: 对于伽马回归,使用残差的方差tweedie-nloglik
: 对于tweedie
回归,使用负的对数似然
4. seed
: 随机数种子,默认为 0 。
学员评价