基于 model = XGBClassifier(learning_rate=0.3, n_estimators=50, max_depth=5, min_child_weight=3
, gamma=0.2, subsample=0.6, colsample_bytree=1.0, objective='binary:logistic', nthread=-1, scale_pos_weight=1)
'''
learning_rate:学习率,通常取值在 0.01-0.2 之间,默认为 0.3。
n_estimators:决策树的数量,也就是弱学习器的数量。一般来说,数量越大越好,但是以合理的方式增加它可以防止过拟合。默认为 100。
max_depth:决策树的最大深度。当 max_depth = 1 时为特殊的树形结构 (单层决策树) ,它会非常不稳定。通常取值 3-10 之间有最佳表现表现。默认为 6 。
min_child_weight :子节点中最小的权重和 (w 相加) 。如果一个叶子节点的权重和小于 min_child_weight 则拆分过程会停止。 默认为 1 。
gamma :在分裂时所需要考察特征使用次数 (split gain > gamma) 之前才会顺利分裂出新子树出来 , 默认为 0 。
subsample :用于随机采样原始数据集中作为新子树构造所需要的行数占总行数 ( 行 ) 百分比 , 默认是 1 代表全部使用 .
colsample_bytree : 含义同上 , 列 . 默认是 1 .
objective : 损失函数名 , 具体看 API 文件 , 非常多重要可供选择 . 默认是 reg:linear for regression problems and binary:logistic for classification problems with only decision, not probability prediction .
nthread : 用于并行学习 xgboost 生成决策树时数目 , -1 表明使用全都 CPU 处理能力 , 非常快 ! 测试时改成 -1 有时会非常显而易见地加快运行速度 . 默认是 -1 . scale pos weight : 对于处理不平衡问题很有用 , 这釪将正例(label y = +1 ) 的权重因子 scale pos weight 进行扩大或者减小 .
'''
创作工场
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。
点击这里>>使用🔥专业版,更聪明、更完整、更原创!