1、 一旦拥有多个弱分类器以及其对应的alpha值,进行测试就变得相对容易。在上节的代码中已经完成了大部分代码,现在要做的就是将弱分类器的结果抽取抽来,应用到某个事例中,每个弱分类器乘以相对应的权重值,加权结果就是最终的结果。
2、python代码
def adaClassify(datToClass,dataArr,classLabels):3、输出结果
classifierArr,aggClassEst1=adaBoostTrainDS(dataArr,classLabels,9)
dataMatrix = mat(datToClass)#do stuff similar to last aggClassEst in adaBoostTrainDS
m = shape(dataMatrix)[0]
aggClassEst = mat(zeros((m,1)))
for i in range(len(classifierArr)):
classEst = stumpClassify(dataMatrix, classifierArr[i]['dim'], classifierArr[i]['thresh'], classifierArr[i]['ineq'])
aggClassEst += classifierArr[i]['alpha']*classEst
print aggClassEst
return sign(aggClassEst)
最终结果将[0,0]分到-1类,下面我们测试一下[[0,0],[5,5],[3,4]]
可以看到最终结果分类正确