共計 1258 個字符,預計需要花費 4 分鐘才能閱讀完成。
R 語言分類算法的集成學習指的是什么,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
1. 集成學習(Bootstrap Aggregating)原理分析:
Bagging 是 Bootstrap Aggregating 的縮寫, 簡單來說, 就是通過使用 boostrap 抽樣得到若干不同的訓練集, 以這些訓練集分別建立模型, 即得到一系列的基分類器, 這些分類器由于來自不同的訓練樣本, 他們對同一測試集的預測效果不一樣. 因此,Bagging 算法隨后對基分類器的一系列預測結果進行投票 (分類問題) 和平均 (回歸問題), 從而得到每一個測試集樣本的最終預測結果, 這一集成后的結果往往是準確而穩定的.
比如現在基分類器 1 至 10, 他們對某樣本的預測結果分別為類別 1 /2/1/1/1/1/2/1/1/2, 則 Bagging 給出的最終結果為”該樣本屬于類別 1”, 因為大多數基分類器將票投給了 1.
AdaBoost(Adaptive Boosting) 相對于 Bagging 算法更為巧妙, 且一般來說是效果更優的集成分類算法, 尤其在數據集分布不均衡的情況下, 其優勢更為顯著. 該算法的提出先于 Bagging, 但在復雜度和效果上高于 Bagging.
AdaBoost 同樣是在若干基分類器基礎上的一種集成算法, 但不同于 Bagging 對一系列預測結果的簡單綜合, 該算法在依次構建基分類器的過程中, 會根據上一個基分類器對各訓練集樣本的預測結果, 自行調整在本次基分類器構造時, 個樣本被抽中的概率. 具體來說, 如果在上一基分類器的預測中, 樣本 i 被錯誤分類了, 那么, 在這一次基分類器的訓練樣本抽取過程中, 樣本 i 就會被賦予較高的權重, 以使其能夠以較大的可能被抽中, 從而提高其被正確分類的概率.
這樣一個實時調節權重的過程正是 AdaBoost 算法的優勢所在, 它通過將若干具有互補性質的基分類器集合于一體, 顯著提高了集成分類器的穩定性和準確性. 另外,Bagging 和 AdaBoost 的基分類器選取都是任意的, 但絕大多數我們使用決策樹, 因為決策樹可以同時處理數值 / 類別 / 次序等各類型變量, 且變量的選擇也較容易.
2. 在 R 語言中的應用
集成學習算法主要運用到了 adabag 包中的 bossting 函數。
bossting(formula,data,boos=TRUE,mfinal=100,coeflearn=’Breiman’,control)
3. 以 iris 數據集為例進行分析
1)應用模型并查看模型的相應參數
fit_bag=bagging(Species~.,data_train,mfinal=5,control=rpart.control(maxdepth=3))
fit_bag[1:length(bag)]
2)預測分析
pre_bag=predict(fit_bag,data_test)
看完上述內容,你們掌握 R 語言分類算法的集成學習指的是什么的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注丸趣 TV 行業資訊頻道,感謝各位的閱讀!