介绍
我正在尝试预测J联赛(一个名为Signate的机器学习竞赛网站)中的观众人数。
因此,我使用了一种称为Xgboost的机器学习算法。
那时,我使用了参数,但是我将总结一下参数是什么,因为下次使用Xgboost时我会忘记它们。
什么是Xgboost
这也称为梯度提升,是一种顺序构造弱学习者的方法。
随机森林构建多个决策树并汇总结果。
另一方面,在构建弱学习者时,Xgboost是。
使用先前构建的弱学习者的结果来构建弱学习者。
减轻了先前构造的学习器正确分类的数据的权重
为没有正确分类的数据增加权重。
这样一来,您就可以专注于错误的数据,并与新建的学习者一样多地学习。
本网站上的详细信息将通过非常易于理解的图表进行详细说明。
我想引用一下这个数字。
XGBoost调查以及如何调整参数|鸭嘴兽分析博客
Xgboost的图像
STEP1以相等的权重训练所有训练数据并绘制决策边界。这被称为与弱学习者一起学习。在这种情况下,我们要击中两个有毒蘑菇和五个蘑菇。
在STEP2中,减少了在STEP1中正确识别的数据的权重,而增加了错误识别的数据的权重。在决策边界正确识别了高度加权的数据,而其他数据则被错误分类。
STEP3具有与STEP2相同的趋势。通过由这样的弱学习者重复该处理,可以提高识别性能。
最终,我们将寻求一个可以划定这种决策边界的分类器。
梯度Boosting梯度是在Boosting算法中用于参数估计的优化方法遵循梯度下降方法的意义上的梯度。上面是梯度提升模型的简要说明。
XGBoost调查以及如何调整参数|引用自鸭嘴兽分析博客
这很容易理解,比说"我什至能理解猴子"的网站也更容易理解。
我不应该不小心使用它,因为那个歌声短语伤害了"我什至都不了解猴子,但我也不了解???"。 del>
参数也包含在这里非常详细,因此这次我将仅解释我特别注意并使用过的参数。
参数介绍
我只想简要解释我强调的参数。
由于我们这次使用树模型,因此将考虑参数。
某些参数不能在线性模型中使用,而某些参数只能在线性模型中使用,有关详细信息,请参见xgboost参考。
我根据自己的判断和偏见描述了重要性。
但是,由于从人类的angular来看,使用该算法的次数很少,因此请使用一半。
eta
默认值:0.3
受体:相当
" learning_rate" 用于python
它是控制每个步骤的学习率的参数。
数值越高,过度拟合越容易。
min_child_weigh
默认值:1
重要提示:非常重要
附加到从子节点继承的数据的总权重的最小值。
增加值使其对异常值的抵抗力增强,但通用性降低。
max_delta_step
默认值:0
重要性:在某些情况下
如果设置为正值,则步骤更新将更强大。
它通常使用不多,但是在处理不平衡数据时似乎很有用。
子样本
默认值:1
重要性:中度
每棵树中随机抽样的样本百分比。
大约0.5?1?
colsample_bytree
默认值:1
重要性:确定
每个级别的分区
中的列子采样率
max_depth
默认值:6
重要性:非常重要
要生长的树的最大长度。似乎有很多4?10。
如果时间太长,学习时间会跳起来,很容易过拟合,因此很恐怖。
顺便说一句,我想知道默认值是否具有高度通用性。
lambda
默认值:1
重要性:就这样
" Reg_lambda" 用于python
可以通过编辑此参数来使用权重的L2正则化。
L2归一化是根据数据的大小接近0来建立平滑模型。
我之前引用蘑菇的网站也说:"它是作为要调整的参数引入的。
alpha
默认值:0
重要性:在某些情况下
您可以对权重执行L1归一化。
通过将特定数据的权重设置为0,L1规范化可以删除不必要的数据。
它对高维数据特别有效,而在其他情况下,它可能并不那么重要。
gamma
默认值:0
重要性:非常重要
进一步划分Konoha节点所需的损耗减少的最小值。
参考文献
正则化以防止过度拟合| TechCrowd
通过贪婪方法-Qiita搜索xgboost超参数
通过贪婪方法搜索xgboost超参数-书呆子中队数据员
顺便说一句,这很容易,建议Url操作使用,例如在Markdown中引用引用时。
引用Markdown中的Url时会使其变得更容易的hack [小故事] --Qiita