问题标签 [ensemble-learning]

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.

0 投票
1 回答
775 浏览

python - sklearn中的plot_partial_dependence未显示

我写下了他们示例中建议的代码,但以下代码没有显示任何内容。

我究竟做错了什么?

0 投票
1 回答
4354 浏览

r - 如何使用训练有素的插入符号对象来预测新数据(训练时不使用)?

我正在使用caret包在训练数据集上训练随机森林模型。我使用了 10 倍交叉验证来获得一个对象 say randomForestFit。现在我想用这个对象来预测新的数据集说test_data。我还想获得各自的班级概率。我该怎么做?

我一直在使用extractProb如下功能:

但它给了我意想不到的结果。

0 投票
1 回答
1937 浏览

matlab - 如何通过 Matlab 中的 PartitionedEnsemble 模型预测新数据(测试集)的标签?

我通过Matlab 2014a 中的函数fitensemble()为二进制分类问题训练了一个集成模型 (RUSBoost) 。该函数的训练通过函数fitensemble()的输入参数“kfold”进行 10 倍交叉验证。

但是,如果我使用predict(model, Xtest) ,则无法使用此函数训练的输出模型来预测新数据的标签。我查看了 Matlab 文档,上面说我们可以使用kfoldPredict()函数来评估训练好的模型。但是我没有通过这个函数找到任何新数据的输入。此外,我发现经过交叉验证的训练模型的结构与没有交叉验证的模型不同。那么,谁能告诉我如何使用经过交叉验证训练的模型来预测新数据的标签?谢谢!

0 投票
2 回答
436 浏览

scikit-learn - 如何更改随机森林用于从单个树做出决策的函数?

随机森林使用“在训练时使用大量决策树并输出作为单个树的类(分类)模式的类”。

有没有办法,而不是使用作为模式的类,在原始树产生的输出上运行另一个随机森林?

额外的问题:这是一个坏主意有什么原因吗?(我相信人们之前会想到这一点)

0 投票
1 回答
498 浏览

python-2.7 - scipy.minimize 'SLSQP' 似乎返回次优权重值

我试图为一组 logloss 值运行最小化函数,但是当使用 scipy.minimize 函数时,它似乎返回了一个次优值。

数据来自 pandas 表:

点击,prob1,prob2,prob3

0, 0.0023, 0.0024, 0.012

1, 0.89, 0.672, 0.78

0, 0.43, 0.023, 0.032

为了帮助调试,我在函数中使用了 print 语句,它返回以下内容。

0.0101326509533 权重:= [ 1. 0. 0.]

0.0101326509533 权重:= [ 1. 0. 0.]

0.0101326509702 权重:= [ 1.00000001 0. 0. ]

0.0101292476389 权重:= [ 1.00000000e+00 1.49011612e-08 0.00000000e+00]

0.0101326509678 权重:= [ 1.00000000e+00 0.00000000e+00 1.49011612e-08]

0.0102904525781 权重:= [ -4.44628778e-10 1.00000000e+00 -4.38298620e-10]

0.00938612854966 权重:= [ 5.00000345e-01 4.99999655e-01 -2.19149158e-10]

0.00961930211064 权重:= [ 7.49998538e-01 2.50001462e-01 -1.09575296e-10]

0.00979499597866 权重:= [ 8.74998145e-01 1.25001855e-01 -5.47881403e-11]

0.00990978430231 权重:= [ 9.37498333e-01 6.25016666e-02 -2.73943942e-11]

0.00998305685424 权重:= [ 9.68748679e-01 3.12513212e-02 -1.36974109e-11]

0.0100300175342 权重:= [ 9.84374012e-01 1.56259881e-02 -6.84884901e-12]

0.0100605546439 权重:= [ 9.92186781e-01 7.81321874e-03 -3.42452299e-12]

0.0100807513117 权重:= [ 9.96093233e-01 3.90676721e-03 -1.71233067e-12]

0.0100942930446 权重:= [ 9.98046503e-01 1.95349723e-03 -8.56215139e-13]

0.0101034594634 权重:= [ 9.99023167e-01 9.76832595e-04 -4.28144378e-13]

0.0101034594634 权重:= [ 9.99023167e-01 9.76832595e-04 -4.28144378e-13]

0.0101034594804 权重:= [ 9.99023182e-01 9.76832595e-04 -4.28144378e-13]

0.0101034593149 权重:= [ 9.99023167e-01 9.76847497e-04 -4.28144378e-13]

0.010103459478 权重:= [ 9.99023167e-01 9.76832595e-04 1.49007330e-08]

权重总和为 0.0101:

[ 9.99023167e-01 9.76832595e-04 -4.28144378e-13]

我的期望是返回的最佳权重应该是: 0.00938612854966 weights := [ 5.00000345e-01 4.99999655e-01 -2.19149158e-10]

任何人都可以看到一个明显的问题吗?

仅供参考->此代码实际上是对 kaggle otto 脚本的破解 https://www.kaggle.com/hsperr/otto-group-product-classification-challenge/finding-ensamble-weights

0 投票
1 回答
794 浏览

machine-learning - 如何在 Adaboost 中使用弱学习器?

我正在使用 Adaboost,这是一个关于弱学习者的问题。在Adaboost算法中,如下,在步骤(2)中,我可以使用不同的算法吗?例如,当k为1时,我使用KNN,如果k=2,使用SVM,对于k=3,我使用决策树?或者,我应该在for循环的所有 k 次迭代中使用单一算法吗?

0 投票
1 回答
710 浏览

scikit-learn - sklearn,ExtraTreesClassifier 的评分混淆

我有 2 个不平衡的类,50 000 个样本,阳性发生在 %5 中。数据是二维的。

问题是,我正在使用ExtraTreesClassifieroob_score_看起来不错,但是当我使用cross_validation.cross_val_score检查f1 分数时,我得到的值很低。我很困惑我的分类器是好的还是垃圾。

它打印 0.919955 0.919353 0.919353 ... 增加。

当我做一个

结果是 array([ 0.01604747, 0.01250169]) ,这很糟糕。

有人可以启发我吗?提前致谢。

0 投票
0 回答
52 浏览

machine-learning - 在 GradientBoostingRegression 中聚合标签

我想了解 Scikit-Learn 的梯度提升回归算法。我遵循了他们的源代码,并且很好地理解了他们基于所选损失函数的树的迭代构造。我想不出答案的是,当我调用. predict()

我跟着那个函数调用到这一行。在这里, scale 保存 learning_rate ,如果未提供,将默认为 0.1。所以,如果我要使用 500 棵树,我不明白他们为什么要将给定样本的 500 个不同标签中的每一个都乘以 0.1。

如果有人可以指导我发表一篇深入解释这一点的已发表论文,我将不胜感激。

0 投票
1 回答
120 浏览

machine-learning - 异步训练的 SGD 权重空间更新

我正在寻找创造性的方法来加快我的神经网络的训练时间,并可能减少消失梯度。我正在考虑将网络分解到不同的节点上,在每个节点上使用分类器作为反向传播“助推器”,然后将节点堆叠在一起,每个节点之间的连接稀疏(在没有以太网的情况下,我可以尽可能多地逃脱)饱和使其毫无意义)。如果我这样做,我不确定我是否必须在节点之间保持某种状态并在同一个示例上同步训练(可能会破坏加速过程的目的),或者我可以简单地训练相同的数据但异步。我想我可以,并且权重空间仍然可以更新并沿着节点之间的稀疏连接传播,即使它们在不同的示例上进行训练,但不确定。

0 投票
1 回答
3720 浏览

machine-learning - 为什么 SAMME.R AdaBoost 算法中的 estimator_weight 设置为 1

我是 AdaBoost 算法的新手。在sklearn SAMME算法的 _boost_discrete()分类器权重返回为“ estimator_weight

但是,对于SAMME.R算法,“_boost_real()”返回'1' 而不是返回估计量权重。

我的问题是为什么 SAMME.R 算法将 estimator_weight 返回为“1”。我正在关注参考文献 [1]。请帮助我理解算法。提前致谢。

参考:[1]J。Zhu, H. Zou, S. Rosset, T. Hastie,“多类 AdaBoost”,2009。