-
大小: 72KB文件類(lèi)型: .rar金幣: 2下載: 1 次發(fā)布日期: 2021-06-05
- 語(yǔ)言: Python
- 標(biāo)簽: python??json??機(jī)器學(xué)習(xí)??adaboost??
資源簡(jiǎn)介
AdaBoost算法有AdaBoost.M1和AdaBoost.M2兩種算法,AdaBoost.M1是我們通常所說(shuō)的Discrete AdaBoost,而AdaBoost.M2是M1的泛化形式。關(guān)于AdaBoost算法的一個(gè)結(jié)論是:當(dāng)弱分類(lèi)器算法使用簡(jiǎn)單的分類(lèi)方法時(shí),boosting的效果明顯地統(tǒng)一地比bagging要好.當(dāng)弱分類(lèi)器算法使用C4.5時(shí),boosting比bagging較好,但是沒(méi)有前者明顯。后來(lái)又有學(xué)者提出了解決多標(biāo)簽問(wèn)題的AdaBoost.MH和AdaBoost.MR算法,其中AdaBoost.MH算法的一種形式又被稱(chēng)為Real Boost算法---弱分類(lèi)器輸出一個(gè)可能度,該值的范圍是整個(gè)R, 和與之相應(yīng)的權(quán)值調(diào)整,強(qiáng)分類(lèi)器生成的AdaBoost算法。Python實(shí)現(xiàn)該算法。
adabbost原理見(jiàn)博客
http://blog.csdn.net/suipingsp/article/details/41722435

代碼片段和文件信息
‘‘‘
Created?on?Feb27?2014
DS?is?short?for?Decision?Stump
@author:?Aidan
‘‘‘
from?numpy?import?*
from?object_json?import?*
from?decisionstump?import?*
from?copy?import?*
import?pdb
class?adaBoost(object):
????def?__init__(selfclassifierDict?=?None?**args):
????????obj_list?=?inspect.stack()[1][-2]
????????self.__name__?=?obj_list[0].split(‘=‘)[0].strip()
????????if?classifierDict?==?None:
????????????self.classifierDict?=?{}
????????else:
????????????self.classifierDict?=?classifierDict
????def?jsonDumpsTransfer(self):
????????‘‘‘essential?transformation?to?Python?basic?type?in?order?to
????????store?as?json.?dumps?as?objectname.json?if?filename?missed?‘‘‘
????????#pdb.set_trace()
????????if?‘DS‘?in?self.classifierDict:
????????????del(self.DSobject)
????def?jsonDumps(self?filename=None):
????????‘‘‘dumps?to?json?file‘‘‘
????????self.jsonDumpsTransfer()
????????if?not?filename:
????????????jsonfile?=?self.__name__+‘.json‘
????????else:?jsonfile?=?filename
????????objectDumps2File(self?jsonfile)
????????
????def?jsonloadTransfer(self):#TBD??????
????????‘‘‘essential?transformation?to?object?required?type?such?as?numpy?matrix
????????call?this?function?after?newobject?=?objectLoadFromFile(jsonfile)‘‘‘
????????#pdb.set_trace()
????????if?‘DS‘?in?self.classifierDict:
????????????self.DSobject?=?decisionStump()
????def?getClassifierList(selfclassifierType):
????????‘‘‘get?the?specific?classifierList?of?classifierType‘‘‘
????????try:
????????????return?self.classifierDict[classifierType]
????????except:
????????????raise?NameError(‘no?classifierList?of?type?%s!‘%classifierType)?
????????????print?‘no?classifierList?of?type?%s‘%classifierType
????????????return?None
????def?setClassifierList(selfclassifierType?classifierList):
????????self.classifierDict[classifierType]?=?deepcopy(classifierList)
????def?getClassifierDict(self):
????????return?self.classifierDict
????def?setClassifierDict(self?classifierDict):
????????self.classifierDict?=?deepcopy(classifierDict)
????def?__classifyDS(self?dataToClass):
????????classifierList?=?self.getClassifierList(‘DS‘)
????????dataMatrix?=?mat(dataToClass)#do?stuff?similar?to?last?aggClassEst?in?adaBoostTrainDS
????????m?=?shape(dataMatrix)[0]
????????aggClassEst?=?mat(zeros((m1)))
????????for?i?in?range(len(classifierList)):
????????????classEst?=?self.DSobject.stumpClassify(dataMatrixclassifierList[i][‘dim‘]\
?????????????????????????????????classifierList[i][‘thresh‘]\
?????????????????????????????????classifierList[i][‘ineqtype‘])#call?stump?classify
????????????aggClassEst?+=?classifierList[i][‘a(chǎn)lpha‘]*classEst
????????#print?‘dataToClass?aggClassEst:‘a(chǎn)ggClassEst
????????return?sign(aggClassEst)
????????
????
????def?classify(selfdataToClass?classifierType?=?‘DS‘?):
????????classifierList?=?self.getClassifierList(classifierType)
????????if?classifierType?==?‘DS‘:
????????????result?=?self.__classifyDS(dat
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件???????5973??2014-12-01?11:50??adaboost\adaboost.py
?????文件???????6024??2014-12-01?11:50??adaboost\adaboost.pyc
?????文件????????910??2014-12-01?11:31??adaboost\adaboostClassifier10.json
?????文件???????8323??2014-12-01?11:31??adaboost\adaboostClassifier100.json
?????文件???????1722??2014-12-01?11:30??adaboost\adaboostClassifier20.json
?????文件??????16619??2014-12-01?11:35??adaboost\adaboostClassifier200.json
?????文件???????2538??2014-12-01?11:30??adaboost\adaboostClassifier30.json
?????文件???????3339??2014-12-01?11:33??adaboost\adaboostClassifier40.json
?????文件??????33334??2014-12-01?11:35??adaboost\adaboostClassifier400.json
?????文件????????520??2014-12-01?11:31??adaboost\adaboostClassifier5.json
?????文件???????4185??2014-12-01?11:29??adaboost\adaboostClassifier50.json
?????文件???????5006??2014-12-01?11:33??adaboost\adaboostClassifier60.json
?????文件??????67584??2014-11-27?12:18??adaboost\adaboost_classifier?structure.vsd
?????文件???????5539??2014-11-28?16:10??adaboost\decisionstump.py
?????文件???????5625??2014-11-28?16:10??adaboost\decisionstump.pyc
?????文件??????13614??2010-12-06?08:29??adaboost\horseColicTest2.txt
?????文件??????60778??2010-12-06?08:26??adaboost\horseColicTraining2.txt
?????文件???????2789??2014-12-01?12:11??adaboost\ob
?????文件???????3992??2014-12-03?16:23??adaboost\ob
?????文件???????2104??2014-12-03?16:59??adaboost\test.py
?????目錄??????????0??2014-12-03?16:23??adaboost
-----------?---------??----------?-----??----
???????????????250518????????????????????21
評(píng)論
共有 條評(píng)論