- CART算法 — DONE
- 回归与模型树 — DONE
- 树剪枝算法 — DONE
- Python中GUI的使用
【CART算法】
- 混乱度
- 均值:meanX
- 误差 = |x-meanX|
- 总方差:平方误差的总值 = 均方差*样本数 = var(set) * sample_num
【回归树】
- 构建树
- chooseBestSplit
- leafType:叶子阶段引用
- errorType: 总方差
- opt:用户参数
- chooseBestSplit
- 算法
- 对每一个特征:
- 对每个特征值:
- 将数据集切分成两份
- 计算切分的误差
- 更新和记录最小误差、切分、特征
- 对每个特征值:
- 返回最佳切分的特征和阈值
- 对每一个特征:
- 算法缺陷:
- 结果对中止条件很敏感
【剪枝】
- 预剪枝
- 通过预先设置 tocS和tocN,容忍条件以及最小划分规模
- 后剪枝
- 基于已有的树,切分test Data
- 如果存在子集(是树),递归剪枝
- 计算当前两个叶节点合并后的误差,
- 计算不合并的误差
- 如果合并更有,则减掉叶子(全局角度看)
- 基于已有的树,切分test Data