- CART算法 — DONE
- 回歸與模型樹 — DONE
- 樹剪枝算法 — DONE
- Python中GUI的使用
【CART算法】
- 混亂度
- 均值:meanX
- 誤差 = |x-meanX|
- 總方差:平方誤差的總值 = 均方差*樣本數(shù) = var(set) * sample_num
【回歸樹】
- 構(gòu)建樹
- chooseBestSplit
- leafType:葉子階段引用
- errorType: 總方差
- opt:用戶參數(shù)
- chooseBestSplit
- 算法
- 對(duì)每一個(gè)特征:
- 對(duì)每個(gè)特征值:
- 將數(shù)據(jù)集切分成兩份
- 計(jì)算切分的誤差
- 更新和記錄最小誤差、切分殿遂、特征
- 對(duì)每個(gè)特征值:
- 返回最佳切分的特征和閾值
- 對(duì)每一個(gè)特征:
- 算法缺陷:
- 結(jié)果對(duì)中止條件很敏感
【剪枝】
- 預(yù)剪枝
- 通過預(yù)先設(shè)置 tocS和tocN,容忍條件以及最小劃分規(guī)模
- 后剪枝
- 基于已有的樹呛伴,切分test Data
- 如果存在子集(是樹)力崇,遞歸剪枝
- 計(jì)算當(dāng)前兩個(gè)葉節(jié)點(diǎn)合并后的誤差,
- 計(jì)算不合并的誤差
- 如果合并更有,則減掉葉子(全局角度看)
- 基于已有的樹呛伴,切分test Data