如果说最像是盲人摸象的算法,不是不存在的,因为你看不懂算法里的大部分内容,重要还是因为她里面组合拼搭了很多的内容,最终目的还是为了对它自己组合出一个最强大的方法使用,这就是今天要跟大家教学了解的AdaBoost算法,这不仅仅是一个简单的算法,更是一个集成学习力非常有效的算法应用。赶快来了解吧~
Python实现AdaBoost算法
计算弱分类器误差
pred_train = models[m].predict(x_train) miss = [int(x) for x in (pred_train != y_train)] error = np.dot(w, miss)
计算弱分类器的权重
theta[m] = 0.5 * np.log((1-error)/error)
更新数据权重
for i in n_train: w[i] = w[i]*np.exp(-theta[m]*y_train[i]*pred_train[i])
正规化权重
for i in n_train: w[i] /= np.sum(w[i])
最终的预测
predict = np.dot(theta, [model[m].predict(x_test) for m in range(M)])
直接给大家简单粗暴了演示在Python实现AdaBoost算法的一些代码示例,大家看下有没有自己或者之前想要找寻的呢?有的话,就多看两遍学习,加深印象哦~