资源简介

包含基于决策树桩进行集成的AdaBoost、Bagging算法,并实现对学习结果的可视化。“*”表示支撑超平面边界的点,“+”、“-”分别表示正反例数据点,青色线条为集学习器(决策树桩)分类边界。

资源截图

代码片段和文件信息

from tree import Tree
import numpy as np
import data
import matplotlib.pyplot as plt


class AdaBoost:
    def __init__(self tree_num):
        # 基学习器数量
        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.xml
     文件         188  2020-03-05 21:00  集成学习\.idea\misc.xml
     文件         283  2020-03-05 21:00  集成学习\.idea\modules.xml
     文件        8235  2020-03-13 14:07  集成学习\.idea\workspace.xml
     文件         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

评论

共有 条评论