标签: adaboost

使用GridSearchCV与AdaBoost和DecisionTreeClassifier

我正在尝试使用DecisionTreeClassifier("DTC")作为base_estimator来调整AdaBoost分类器("ABT").我想调 ABT同时DTC参数,但我不知道如何做到这一点-管道不应该工作,因为我不是"管" DTC的输出ABT.我们的想法是在GridSearchCV估算器中迭代ABT和DTC的超参数.

如何正确指定调整参数?

我尝试了以下操作,在下面生成了一个错误.

[IN]
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import AdaBoostClassifier
from sklearn.grid_search import GridSearchCV

param_grid = {dtc__criterion : ["gini", "entropy"],
              dtc__splitter :   ["best", "random"],
              abc__n_estimators: [none, 1, 2]
             }


DTC = DecisionTreeClassifier(random_state = 11, max_features = "auto", class_weight = "auto",max_depth = None)

ABC = AdaBoostClassifier(base_estimator = DTC)

# run grid search
grid_search_ABC = GridSearchCV(ABC, param_grid=param_grid, scoring = 'roc_auc')

[OUT]
ValueError: Invalid parameter dtc for estimator AdaBoostClassifier(algorithm='SAMME.R',
      base_estimator=DecisionTreeClassifier(class_weight='auto', criterion='gini', max_depth=None,
        max_features='auto', max_leaf_nodes=None, min_samples_leaf=1,
        min_samples_split=2, min_weight_fraction_leaf=0.0,
        random_state=11, …
Run Code Online (Sandbox Code Playgroud)

python decision-tree adaboost scikit-learn grid-search

24
推荐指数
2
解决办法
2万
查看次数

AdaBoostClassifier与不同的基础学习者

我正在尝试将AdaBoostClassifier与DecisionTree之外的基础学习器一起使用.我尝试过SVM和KNeighborsClassifier,但是我收到了错误.有人可以指出可以与AdaBoostClassifier一起使用的分类器吗?

machine-learning adaboost scikit-learn

16
推荐指数
2
解决办法
1万
查看次数

弱分类器

我正在尝试实现一个使用AdaBoost算法的应用程序.我知道AdaBoost使用了一组弱分类器,但我不知道这些弱分类器是什么.你能用一个例子向我解释一下,告诉我是否必须创建自己的弱分类器,或者我是否想要使用某种算法?

artificial-intelligence classification machine-learning adaboost

13
推荐指数
2
解决办法
2万
查看次数

如何在训练弱学习者使用adaboost时使用体重

以下是adaboost算法: 在此输入图像描述

它在第3.1部分提到了"对训练数据使用权重".

我不太清楚如何使用重量.我应该重新取样培训数据吗?

machine-learning adaboost

12
推荐指数
1
解决办法
9390
查看次数

向非技术人员解释AdaBoost算法

我一直试图理解AdaBoost算法没有太大的成功.作为一个例子,我正在努力理解关于人脸检测Viola Jones论文.

你能用外行的话来解释AdaBoost,并提供一个很好的例子吗?

language-agnostic algorithm adaboost

11
推荐指数
2
解决办法
6200
查看次数

在R的插入符号包中使用adaboost

我一直在使用adaR包,最近,caret.根据该文件,carettrain()功能应该有一个使用ADA的选项.但是,当我使用与我的ada()通话相同的语法时,插入符号正在嘲笑我.

这是一个使用wine示例数据集的演示.

library(doSNOW)
registerDoSNOW(makeCluster(2, type = "SOCK"))
library(caret)
library(ada)

wine = read.csv("http://www.nd.edu/~mclark19/learn/data/goodwine.csv")


set.seed(1234) #so that the indices will be the same when re-run
trainIndices = createDataPartition(wine$good, p = 0.8, list = F)
wanted = !colnames(wine) %in% c("free.sulfur.dioxide", "density", "quality",
                            "color", "white")

wine_train = wine[trainIndices, wanted]
wine_test = wine[-trainIndices, wanted]
cv_opts = trainControl(method="cv", number=10)


 ###now, the example that works using ada() 

 results_ada <- ada(good ~ ., data=wine_train, control=rpart.control
 (maxdepth=30, …
Run Code Online (Sandbox Code Playgroud)

r classification machine-learning data-mining adaboost

11
推荐指数
1
解决办法
2万
查看次数

Adaboost的自定义学习功能

我正在使用Adaboost来解决分类问题.我们可以做到以下几点:

ens = fitensemble(X, Y, 'AdaBoostM1', 100, 'Tree')
Run Code Online (Sandbox Code Playgroud)

现在'Tree'是学习​​者,我们可以将其改为'Discriminant'或'KNN'.每个学习者都使用一定的Template Object Creation Function.更多信息在这里.

是否可以创建自己的功能并将其用作学习者?如何?

matlab adaboost ensemble-learning

10
推荐指数
1
解决办法
360
查看次数

SVM优于十亿树和AdaBoost算法的优点

我正在研究数据的二进制分类,我想知道使用支持向量机优于决策树和自适应Boosting算法的优缺点.

classification machine-learning svm decision-tree adaboost

9
推荐指数
1
解决办法
7985
查看次数

Adaboost中的参数选择

在使用OpenCV进行提升之后,我正在尝试实现我自己的Adaboost算法版本(请点击此处,此处原始论文以获取一些参考资料).

通过阅读所有材料,我提出了一些关于算法实现的问题.

1)我不清楚如何分配每个弱学习者的权重a_t.

在我所指出的所有来源中,选择是a_t = k * ln( (1-e_t) / e_t ),k是一个正常数,而e_t是特定弱学习者的错误率.

在这个来源的第7页,它说该特定值最小化某个凸可微函数,但我真的不明白这段经文.

  • 有人可以向我解释一下吗?

2)我对训练样本的重量更新程序有一些疑问.

显然,应该以这样的方式来保证它们仍然是概率分布.所有参考文献都采用这种选择:

D_ {t + 1}(i)= D_ {t}(i)*e ^( - a_t y_i h_t(x_i))/ Z_t(其中Z_t是选择的归一化因子,使得D_ {t + 1}是分布).

  • 但是为什么权重的特定选择更新乘以特定弱学习者的错误率的指数?
  • 还有其他更新吗?如果是,是否有证据证明此更新保证了学习过程的某种最优性?

我希望这是发布此问题的正确位置,如果没有请重定向我!
提前感谢您提供的任何帮助.

opencv machine-learning adaboost

9
推荐指数
1
解决办法
1096
查看次数

如何使用AdaBoost增强基于Keras的神经网络?

假设我符合以下神经网络的二进制分类问题:

model = Sequential()
model.add(Dense(21, input_dim=19, init='uniform', activation='relu'))
model.add(Dense(80, init='uniform', activation='relu'))
model.add(Dense(80, init='uniform', activation='relu'))
model.add(Dense(1, init='uniform', activation='sigmoid'))
# Compile model
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# Fit the model
model.fit(x2, training_target, nb_epoch=10, batch_size=32, verbose=0,validation_split=0.1, shuffle=True,callbacks=[hist])
Run Code Online (Sandbox Code Playgroud)

如何使用AdaBoost增强神经网络?keras有没有这方面的命令?

python neural-network adaboost keras boosting

9
推荐指数
2
解决办法
7893
查看次数