【读书笔记】机器学习实战 第7章 7.6节 在难数据集上应用AdaBoost

AdaBoost没有过拟合:有文献称,对于表现好的数据集,AdaBoost的测试错误率就会达到一个稳定值,并不会随着分类器的增多而上升

# 自适应数据加载函数
def loadDataSet(fileName): # general function to parse tab -delimited floats
    numFeat = len(open(fileName).readline().split('\t')) # 获取列数 ,最后一列为类别标签 get number of fields
    dataMat = []; labelMat = []
    fr = open(fileName)
    for line in fr.readlines():
        lineArr =[]
        curLine = line.strip().split('\t')
        for i in range(numFeat-1): # 不需指定特征维度
            lineArr.append(float(curLine[i]))
        dataMat.append(lineArr) # 样本特征
        labelMat.append(float(curLine[-1])) # 最后一列为类别标签
    return dataMat,labelMat # 返回样本特征和类别

#D = mat(ones((5,1))/5)
#datMat,classLabels = loadSimpData()
#buildStump(datMat,classLabels,D)
#classifierrr,agg = adaBoostTrainDS(datMat,classLabels)
#re = adaClassify([0,0],classifierrr)
datArr,labelArr = loadDataSet('horseColicTraining2.txt')
classifierArray,agg  = adaBoostTrainDS(datArr,labelArr,10)

testArr,testLabelArr = loadDataSet('horseColicTest2.txt')
prediction10 = adaClassify(testArr,classifierArray)
errArr = mat(ones((67,1)))
su = errArr[prediction10 != mat(testLabelArr).T].sum()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值