簡體   English   中英

如何提高matlab中決策樹的准確性

[英]How to improve accuracy of decision tree in matlab

我有一組數據,我使用決策樹在matlab中對它們進行分類。 我將這組分為兩部分; 一個訓練數據(85%)和其他測試數據(15%)。 問題是准確率在90左右,我不知道如何改進它。 如果您對此有任何想法,我將不勝感激。

由於許多原因,決策樹可能表現較低,我可以想到的一個突出原因是,在計算拆分時,他們不考慮變量或目標變量對其他變量的相互依賴性。 在改進性能之前,應該意識到它不會導致過度擬合並且應該能夠推廣。

為了提高性能,可以完成以下幾項工作:

  • 變量預選:可以進行不同的測試,如多重共線性測試,VIF計算,變量IV計算,只選擇幾個頂部變量。 這將導致性能提高,因為它會嚴格刪除不需要的變量。

  • 集成學習使用多個樹(隨機森林)來預測結果。 隨機森林通常比單一決策樹表現良好,因為它們設法減少偏差和方差。 它們也不太容易過度擬合。

  • K-fold交叉驗證:訓練數據本身的交叉驗證可以稍微提高模型的性能。

  • 混合模型:使用混合模型,即在使用決策樹后使用邏輯回歸來提高性能。

我想這里更重要的問題是給定域名的准確性是多少:如果你對垃圾郵件進行分類,那么90%可能有點低,但如果你預測股票價格,那么90%真的很高!

如果您在已知的域集上執行此操作,並且之前的分類准確性示例高於您的,則可以嘗試以下幾種方法:

我不認為你應該改進這個,可能是數據被分類器過度裝配了。 嘗試使用其他數據集或交叉驗證來查看更准確的結果。

順便說一句,90%,如果沒有過度裝配,是很好的結果,可能你甚至不需要改進它。

您可以考慮修剪樹葉以改進決策樹的泛化。 但正如所提到的,90%的准確度可以被認為是相當不錯的..

90%是好還是壞,取決於數據的域。

但是,您的數據中的類可能是重疊的,並且您實際上不能超過90%。

您可以嘗試查看哪些節點是錯誤,並檢查是否可以通過更改它們來改進分類。

您也可以嘗試隨機森林。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM