決策樹
基礎的內容,參考的鏈接:
http://leijun00.github.io/2014/09/decision-tree/
ID3
- 最基礎的決策樹,多叉樹,僅能處理離散型值
- 採用信息增益來處理 g(D,A)=H(D)−H(D|A)
- 會偏向有較多屬性的feature,容易過擬合
C4.5
- 對ID3的改進
- 對於連續值,進行劃分。假設是min,k1,k2,…,max的劃分,依次嘗試劃分的方式,計算最佳劃分
- 採用信息增益比率,避免了偏向較多屬性feature
- 處理缺失值(填充or忽略)
CART
- 用基尼純淨度來衡量
- 二叉樹的形式
迴歸樹
- 採用平方誤差損失求解最優的切分變量和切分點
- 每個葉子節點的輸出就是一個值
Random Forest
類似bagging,然而並不是的。bagging會隨機抽樣若干個樣本(不要求與原樣本的個數一致,每次分裂時考慮所有的特徵)
由多棵CART構成
使用的訓練集是從總的訓練集中有放回採樣出來的,新樣本大小與原樣本大小一樣,有些樣本可能多次出現在一棵樹的訓練集中,也可能從未出現在一棵樹的訓練集中
使用的特徵是從所有特徵中按照一定比例隨機地無放回的抽取的,根據Leo Breiman的建議,假設總的特徵數量爲M,這個比例可以是sqrt(M),1/2sqrt(M),2sqrt(M)
最後,用投票的方式。如果是迴歸問題,就取平均值
參數包括樹的個數,深度等
參考鏈接:
GBDT
迴歸樹
每次擬合的目標,是上一次的殘差,所以最終結果,是將所有樹的結果加起來
既然如此,那應該就沒有數據集的sample了,不然沒得搞(?)
特徵應該還是隨機抽取若干個,來處理每棵樹(?)
參考鏈接: