邏輯迴歸 vs 決策樹 vs 支持向量機

邏輯迴歸

邏輯迴歸非常便利並且很有用的一點就是,它輸出的結果並不是一個離散值或者確切的類別。相反,你得到的是一個與每個觀測樣本相關的概率列表。你可以使用不同的標準和常用的性能指標來分析這個概率分數,並得到一個閾值,然後使用最符合你業務問題的方式進行分類輸出。

邏輯迴歸的優點:

  • 便利的觀測樣本概率分數; 
  • 已有工具的高效實現;
  • 對邏輯迴歸而言,多重共線性並不是問題,它可以結合L2正則化來解決;
  • 邏輯迴歸廣泛的應用於工業問題上(這一點很重要)。

 

邏輯迴歸的缺點:

  • 當特徵空間很大時,邏輯迴歸的性能不是很好;
  • 不能很好地處理大量多類特徵或變量;
  • 對於非線性特徵,需要進行轉換;
  • 依賴於全部的數據(個人覺得這並不是一個很嚴重的缺點)

 

決策樹

決策樹固有的特性是它對單向變換或非線性特徵並不關心[這不同於預測器當中的非線性相關性>,因爲它們簡單地在特徵空間中插入矩形[或是(超)長方體],這些形狀可以適應任何單調變換。當決策樹被設計用來處理預測器的離散數據或是類別時,任何數量的分類變量對決策樹來說都不是真正的問題。使用決策樹訓練得到的模型相當直觀,在業務上也非常容易解釋。決策樹並不是以概率分數作爲直接結果,但是你可以使用類概率反過來分配給終端節點。這也就讓我們看到了與決策樹相關的最大問題,即它們屬於高度偏見型模型。你可以在訓練集上構建決策樹模型,而且其在訓練集上的結果可能優於其它算法,但你的測試集最終會證明它是一個差的預測器。你必須對樹進行剪枝,同時結合交叉驗證才能得到一個沒有過擬合的決策樹模型。

隨機森林在很大程度上克服了過擬合這一缺陷,其本身並沒有什麼特別之處,但它卻是決策樹一個非常優秀的擴展。隨機森林同時也剝奪了商業規則的易解釋性,因爲現在你有上千棵這樣的樹,而且它們使用的多數投票規則會使得模型變得更加複雜。同時,決策樹變量之間也存在相互作用,如果你的大多數變量之間沒有相互作用關係或者非常弱,那麼會使得結果非常低效。此外,這種設計也使得它們更不易受多重共線性的影響。

決策樹的優點:

  • 直觀的決策規則
  • 可以處理非線性特徵
  • 考慮了變量之間的相互作用

決策樹的缺點:

  • 訓練集上的效果高度優於測試集,即過擬合[隨機森林克服了此缺點]
  • 沒有將排名分數作爲直接結果

 

 

SVM:

SVM的優點:

  • 能夠處理大型特徵空間
  • 能夠處理非線性特徵之間的相互作用
  • 無需依賴整個數據

SVM的缺點:

  • 當觀測樣本很多時,效率並不是很高
  • 有時候很難找到一個合適的核函數

 

 

 

我試着編寫一個簡單的工作流,決定應該何時選擇這三種算法,流程如下:

 

  • 首當其衝應該選擇的就是邏輯迴歸,如果它的效果不怎麼樣,那麼可以將它的結果作爲基準來參考;
  • 然後試試決策樹(隨機森林)是否可以大幅度提升模型性能。即使你並沒有把它當做最終模型,你也可以使用隨機森林來移除噪聲變量;
  • 如果特徵的數量和觀測樣本特別多,那麼當資源和時間充足時,使用SVM不失爲一種選擇。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章