R教材11.2 隨機森林與支援向量機
阿新 • • 發佈:2018-11-26
- 隨機森林是組成式監督學習演算法,同時使用多個預測模型,將模型的結果彙總以提升分類準確率;對樣本單元和屬性進行抽樣,產生大量的決策樹,再對檢驗的樣本單元進行依次分類,從而得到未知樣本單元的類
- 演算法:訓練集中有N個樣本單元,M個變數
- 從訓練集中隨機有放回的抽取N個樣本單元
- 對於抽取出的訓練集,對每個節點隨機抽取m<M個變數,作為分割該節點的候選變數,每一個節點處的變數數應該一致
- 完整生成決策樹,不用剪枝,最小節點可以為1,設定葉節點的型別
- 將新的樣本單元用所有樹進行分類,多數類別為該樣本單元的類別
- 在無法獲得檢驗集時,生成森林時沒用到的樣本點可以用來檢驗,即袋外預測OOB
- randomForest::randomForest()生成隨機森林,預設生成500個樹,每個節點抽取sqrt(M)個變數,最小節點為1
- randomForest(formula,data,na.action=na.roughfix,importance=T)
- na.action=na.roughfix,將數值變數中的缺失值替換為對應列的中位數或類別變數的缺失值替換成對應列的多數類(相同數量隨機取)
- importance=T,隨機森林可度量變數重要性,importance(fit,type=2)返回變數的不純性的Gini指數減少量的所有樹的均值
- predict(fit,data)驗證集,分類時剔除有缺失值的單元
- randomForest(formula,data,na.action=na.roughfix,importance=T)
- randomForest和party::cforest:當預測變數高度相關時,基於條件推斷樹的隨機森林效果更好
- 決策樹的特點
- 優點:可計算袋外預測誤差和度量變數重要性,分類的準確性更高,可處理大規模問題(大量缺失值資料或變數數遠多於樣本單元量的資料)
- 缺點:那以表達森林,儲存整個隨機森林以對新樣本單元分類
- 演算法:訓練集中有N個樣本單元,M個變數
- 支援向量機:用於分類和迴歸的監督機器學習模型,比較準確的輸出結果和基於資料理論,是可以參考的理論模型;二分類
- 演算法:多維空間中找到一個能將全部樣本單元分為兩類的最優超平面,使兩類中距離最近的點的到超平面的距離儘可能大,間距邊界上的點為支援向量,超平面在間距的中間
- N維空間(N個變數)的超平面為N-1維
- 演算法:多維空間中找到一個能將全部樣本單元分為兩類的最優超平面,使兩類中距離最近的點的到超平面的距離儘可能大,間距邊界上的點為支援向量,超平面在間距的中間