本博客主要实现adaboost算法依据以下数据集,如果关于adaboost算法有一些理论知识还不是很明白的,可以参考一下这篇博客
程序是我自己根据公式编写的,如果有错误的地方欢迎指正。
采用机器学习书中的算法步骤:
第一步:定义标签和数据集
def dataset():
data=[0,1,2,3,4,5,6,7,8,9]
labels=[1,1,1,-1,-1,-1,1,1,1,-1]
return data,labels
第二步:输入标签和数据集构造最优决策树。因为这里的样本是连续值,因此连续属性离散化技术在这里派上了用场。只需要求得该样本的候选划分点集合就可以了。候选划分点是每两者之间的平均值。
point=(np.array(data[:-1])+np.array(data[1:]))/2 #取data中相邻两者之间的平均值
结果:array([0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.