Skip to content

Commit 11856b6

Browse files
更新7.adaboost注释
1 parent 5240c5c commit 11856b6

File tree

1 file changed

+44
-44
lines changed

1 file changed

+44
-44
lines changed

Diff for: src/python/07.AdaBoost/adaboost.py

+44-44
Original file line numberDiff line numberDiff line change
@@ -258,47 +258,47 @@ def plotROC(predStrengths, classLabels):
258258

259259

260260
if __name__ == "__main__":
261-
# # 我们要将5个点进行分类
262-
# dataArr, labelArr = loadSimpData()
263-
# print 'dataArr', dataArr, 'labelArr', labelArr
264-
265-
# # D表示最初值,对1进行均分为5份,平均每一个初始的概率都为0.2
266-
# # D的目的是为了计算错误概率: weightedError = D.T*errArr
267-
# D = mat(ones((5, 1))/5)
268-
# print 'D=', D.T
269-
270-
# # bestStump, minError, bestClasEst = buildStump(dataArr, labelArr, D)
271-
# # print 'bestStump=', bestStump
272-
# # print 'minError=', minError
273-
# # print 'bestClasEst=', bestClasEst.T
274-
275-
276-
# # 分类器:weakClassArr
277-
# # 历史累计的分类结果集
278-
# weakClassArr, aggClassEst = adaBoostTrainDS(dataArr, labelArr, 9)
279-
# print '\nweakClassArr=', weakClassArr, '\naggClassEst=', aggClassEst.T
280-
281-
# """
282-
# 发现:
283-
# 分类的权重值:最大的值,为alpha的加和,最小值为-最大值
284-
# 特征的权重值:如果一个值误判的几率越小,那么D的特征权重越少
285-
# """
286-
287-
# # 测试数据的分类结果, 观测:aggClassEst分类的最终权重
288-
# print adaClassify([0, 0], weakClassArr).T
289-
# print adaClassify([[5, 5], [0, 0]], weakClassArr).T
290-
291-
# 马疝病数据集
292-
# 训练集合
293-
dataArr, labelArr = loadDataSet("input/07.AdaBoost/horseColicTraining2.txt")
294-
weakClassArr, aggClassEst = adaBoostTrainDS(dataArr, labelArr, 40)
295-
print weakClassArr, '\n-----\n', aggClassEst.T
296-
# 计算ROC下面的AUC的面积大小
297-
plotROC(aggClassEst.T, labelArr)
298-
# 测试集合
299-
dataArrTest, labelArrTest = loadDataSet("input/07.AdaBoost/horseColicTest2.txt")
300-
m = shape(dataArrTest)[0]
301-
predicting10 = adaClassify(dataArrTest, weakClassArr)
302-
errArr = mat(ones((m, 1)))
303-
# 测试:计算总样本数,错误样本数,错误率
304-
print m, errArr[predicting10 != mat(labelArrTest).T].sum(), errArr[predicting10 != mat(labelArrTest).T].sum()/m
261+
# 我们要将5个点进行分类
262+
dataArr, labelArr = loadSimpData()
263+
print 'dataArr', dataArr, 'labelArr', labelArr
264+
265+
# D表示最初值,对1进行均分为5份,平均每一个初始的概率都为0.2
266+
# D的目的是为了计算错误概率: weightedError = D.T*errArr
267+
D = mat(ones((5, 1))/5)
268+
print 'D=', D.T
269+
270+
# bestStump, minError, bestClasEst = buildStump(dataArr, labelArr, D)
271+
# print 'bestStump=', bestStump
272+
# print 'minError=', minError
273+
# print 'bestClasEst=', bestClasEst.T
274+
275+
276+
# 分类器:weakClassArr
277+
# 历史累计的分类结果集
278+
weakClassArr, aggClassEst = adaBoostTrainDS(dataArr, labelArr, 9)
279+
print '\nweakClassArr=', weakClassArr, '\naggClassEst=', aggClassEst.T
280+
281+
"""
282+
发现:
283+
分类的权重值:最大的值,为alpha的加和,最小值为-最大值
284+
特征的权重值:如果一个值误判的几率越小,那么D的特征权重越少
285+
"""
286+
287+
# 测试数据的分类结果, 观测:aggClassEst分类的最终权重
288+
print adaClassify([0, 0], weakClassArr).T
289+
print adaClassify([[5, 5], [0, 0]], weakClassArr).T
290+
291+
# # 马疝病数据集
292+
# # 训练集合
293+
# dataArr, labelArr = loadDataSet("input/07.AdaBoost/horseColicTraining2.txt")
294+
# weakClassArr, aggClassEst = adaBoostTrainDS(dataArr, labelArr, 40)
295+
# print weakClassArr, '\n-----\n', aggClassEst.T
296+
# # 计算ROC下面的AUC的面积大小
297+
# plotROC(aggClassEst.T, labelArr)
298+
# # 测试集合
299+
# dataArrTest, labelArrTest = loadDataSet("input/07.AdaBoost/horseColicTest2.txt")
300+
# m = shape(dataArrTest)[0]
301+
# predicting10 = adaClassify(dataArrTest, weakClassArr)
302+
# errArr = mat(ones((m, 1)))
303+
# # 测试:计算总样本数,错误样本数,错误率
304+
# print m, errArr[predicting10 != mat(labelArrTest).T].sum(), errArr[predicting10 != mat(labelArrTest).T].sum()/m

0 commit comments

Comments
 (0)