问题标签 [boosting]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
machine-learning - 逆向机器学习模型以获得特定特征
我正在尝试建模一个过程。我的输入数据包括有关产品的某些特征和测量值。我在 Python 中构建了随机森林和梯度提升模型,并得到了很好的结果。我现在正试图确定哪些特征和测量值会导致最好的产品(几乎就像反转一个方程以获取特定 y 的 x 变量)。我该怎么做呢?
python - XGBoost 中的特征重要性“增益”
我想了解 xgboost 中的特征重要性是如何通过“增益”计算的。来自https://towardsdatascience.com/be-careful-when-interpreting-your-features-importance-in-xgboost-6e16132588e7:
“增益”是特征对其所在分支的准确性的改进。这个想法是,在将特征 X 上的新拆分添加到分支之前,有一些错误分类的元素,在此特征上添加拆分后,有两个新分支,每个分支都更准确(一个分支说如果你的观察是在这个分支上,那么它应该被归类为 1,而另一个分支则完全相反)。
在 scikit-learn 中,特征重要性是通过使用变量拆分后每个节点的 gini 杂质/信息增益减少来计算的,即节点的加权杂质平均值 - 左子节点的加权杂质平均值 - 右子节点的加权杂质平均值(见也:https ://stats.stackexchange.com/questions/162162/relative-variable-importance-for-boosting )
我想知道 xgboost 是否也使用上述引用中所述的信息增益或准确性的方法。我试图挖掘xgboost的代码并发现了这种方法(已经切断了不相关的部分):
所以“增益”是从每个助推器的转储文件中提取的,但它是如何实际测量的?
machine-learning - 在什么情况下可以使用 bagging 而不是 boosting?
我是数据科学的新手,到目前为止,我了解到 bagging 只会减少高方差,但 boosting 会减少方差和偏差,从而提高训练和测试用例的准确性。
我了解两者的功能。似乎在准确度提升方面总是比 bagging 表现得更好。如果我错了,请纠正我。
是否有任何参数可以使 bagging 或基于 bagging 的算法比 boosting 更好 - 无论是在内存或速度方面,还是在复杂数据处理方面或任何其他参数方面。
machine-learning - 提升(集成学习)错误与树数的图显示不正确的趋势
我正在对标准数据集(鲍鱼)进行增强,同时使用 SAMME 和 SAMMME.R 增强算法,我获得的图表不是我所期望的。这是一个使用监督学习的多类分类问题。
这是图表
我期待一个图表,其中随着树木数量的增加,错误会减少。但这里的错误似乎增加或保持不变。这是这个情节的代码
bdt_real = AdaBoostClassifier(DecisionTreeClassifier(max_depth=2), n_estimators=600, learning_rate=1)
有没有人有一些有效的指针来说明这种随着树的数量而增加的误差趋势的原因是什么?我确实认为这可能意味着我已经过度拟合了模型。但看起来根本没有减少错误。对于过度拟合,我希望首先减少错误,然后增加错误。
python - 如何通过在线提升联合功能
我想使用在线提升结合两个功能。
我阅读了更多使用 boosting 解释在线提升和联合特征的论文,论文是:
Boosting with a Joint Feature Pool from different Sensors , Convolutional Channel Features-Based Person Identification for Person following Robots , 代码在这里
这里解释一下AdaBoostClassifier
我从理论上理解它,但我无法在 python 中实现它。我对 C++ 的经验为零。任何人帮助我,这是我的简单代码:
function - 如何正确设置衰减学习率回调,并在 xgboost 中将其传递给自定义函数?
我有这个功能来设置一个递减的学习率:
现在我想将它callback
传递train
给xgboost
. 我正在尝试这个:
但我收到了这个错误:
如果我尝试lightgbm
使用完全相同的工作程序,效果很好:
请问如何正确设置此操作?而且,是什么使 2 调用xgboost
和不同lightgbm
?
非常感谢您提前
python - 我可以使用 XGBoost 来提升其他模型(例如朴素贝叶斯、随机森林)吗?
我正在做一个欺诈分析项目,我需要一些帮助来提升。以前,我使用 SAS Enterprise Miner 来了解有关提升/集成技术的更多信息,并且我了解到提升可以帮助提高模型的性能。
目前,我的团队已经在 Python 上完成了以下模型:朴素贝叶斯、随机森林和神经网络我们希望使用 XGBoost 来提高 F1-score。我不确定这是否可行,因为我只遇到过有关如何自行执行 XGBoost 或 Naive Bayes 的教程。
我正在寻找一个教程,他们将向您展示如何创建朴素贝叶斯模型,然后使用提升。之后,我们可以比较有无提升的指标,看看它是否有所改善。我对机器学习比较陌生,所以我对这个概念可能是错误的。
我想替换 XGBoost 中的值,但不确定要更改哪个值,或者它是否可以以这种方式工作。
朴素贝叶斯
XGBoost
catboost - CatBoost RandomizedSearch 停止并找出它的超参数
所以我开始运行 CatBoost 的 RandomizedSearch 实现,就我从日志中看到的(我从 verbose=1 知道,下面是日志),有一个模型是很长时间以来最好的模型,我不能再等它完成随机搜索直到最后,我想看看这里有没有人知道我如何在关闭我的 Python 脚本后以某种方式访问该模型的超参数。有什么办法可以看到吗?
python-3.x - Sklearn AdaBooster 和基础估计器
我想将 sklearn AdaBoostRegressor 与不同的基本估计器一起使用。一般的AdaBoost 介绍并没有太大帮助,因为它们使用 DecisionTreeClassifier
我在哪里可以找到所有可能的基本估计量的列表?
我也可以使用神经网络吗?
什么使可能的基本估计量合格?
r - 随机森林 Cp 为 0
我正在尝试运行随机森林模型进行价格预测,当我在随机森林中运行 tuneGrid 时,我发现 bestTune cp 为 0.00,这可能吗?