資源簡介
包含基于決策樹樁進行集成的AdaBoost、Bagging算法,并實現(xiàn)對學習結果的可視化。“*”表示支撐超平面邊界的點,“+”、“-”分別表示正反例數(shù)據(jù)點,青色線條為集學習器(決策樹樁)分類邊界。
代碼片段和文件信息
from?tree?import?Tree
import?numpy?as?np
import?data
import?matplotlib.pyplot?as?plt
class?AdaBoost:
????def?__init__(self?tree_num):
????????#?基學習器數(shù)量
????????self.tree_num?=?tree_num
????????#?基學習器權重
????????self.alpha?=?np.zeros(tree_num)
????????#?樣本權重
????????self.weights?=?np.ones(17)
????????#?基學習器組
????????self.trees?=?[]
????????for?i?in?range(tree_num):
????????????self.trees.append(Tree(max_deep=2))
????def?learn(self):
????????hx_old?=?np.zeros(17)
????????for?t?in?range(self.tree_num):
????????????tree?=?self.trees[t]
????????????#?測試集和訓練集相同
????????????index_list?=?list(range(17))
????????????#?生成訓練樣本,基于17個樣本及權重生成樹樁
????????????train_samples?=?tree.init_samples(index_list?self.weights)
????????????tree.tree_generate(train_samples?[0?1]?True)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2020-03-12?18:53??集成學習\
?????目錄???????????0??2020-03-13?14:07??集成學習\.idea\
?????目錄???????????0??2020-03-05?21:00??集成學習\.idea\inspectionProfiles\
?????文件?????????174??2020-03-05?21:00??集成學習\.idea\inspectionProfiles\profiles_settings.xm
?????文件?????????188??2020-03-05?21:00??集成學習\.idea\misc.xm
?????文件?????????283??2020-03-05?21:00??集成學習\.idea\modules.xm
?????文件????????8235??2020-03-13?14:07??集成學習\.idea\workspace.xm
?????文件?????????291??2020-03-05?21:00??集成學習\.idea\集成學習.iml
?????文件????????4554??2020-03-12?18:14??集成學習\AdaBoost.py
?????文件????????2370??2020-03-12?18:53??集成學習\Bagging.py
?????目錄???????????0??2020-03-12?17:26??集成學習\__pycache__\
?????文件?????????641??2020-03-12?17:26??集成學習\__pycache__\data.cpython-37.pyc
?????文件????????8152??2020-03-12?17:26??集成學習\__pycache__\tree.cpython-37.pyc
?????文件?????????435??2020-03-10?21:59??集成學習\data.py
?????文件???????12502??2020-03-10?21:59??集成學習\tree.py
評論
共有 條評論