- AdaBoost
关于AdaBoost有很多文章,不多说了:
https://www.cnblogs.com/ScorpioLu/p/8295990.html
简单来说就是对数据集取不同的分类做成弱分类器,然后加起来作为强分类器
刚接触python和numpy不久,用python和iris数据集简单实现这个算法,作为学习笔记记录下来以供以后查阅
- iris dataset + python实现AdaBoost
a. 数据处理
简单的把后面两个分类合成了一个,于是只剩下两个种类1和-1
iris = load_iris()
iris.target[iris.target > 0] = 1
iris.target[iris.target == 0] = -1
b. 循环生成弱分类器
def adaBoost(dataset,target,weekClassifierNo=4):
shape = np.shape(dataset)
recordNo = shape[0]
weights = np.ones(recordNo)/recordNo
featureNo = shape[1]
weekClassifiers = {}
for classifierSeq in range(weekClassifierNo):
#循环寻找好的划分
featureValue, alpha, newWeights = findBestCut(dataset, target, weights)
if