簡體   English   中英

Python:在什么情況下隨機森林和SVM分類器可以產生較高的准確性?

[英]Python: In which cases will random forest and SVM classifiers can produce high accuracy?

我正在使用隨機森林和SVM分類器進行分類,我有18322個樣本在9個類別(3667、1060、1267、2103、2174、1495、884、1462、4210)中不平衡。 我使用10倍簡歷,我的訓練數據具有100個特征尺寸。 在我的樣本中,訓練數據在這100個維度上並沒有太大差異,當我使用SVM時,精度大約為40%,但是當我使用RF時,精度可以為92%。 然后,我使數據在這100個特征維度上的差異變得更小,但是,RF的精度也可以達到92%,但SVM的精度卻下降到25%。

我的分類器配置為:

SVM:LinearSVC(penalty =“ l1”,dual = False)

RF:RandomForestClassifier(n_estimators = 50)

所有其他參數均為​​默認值。 我認為我的RF分類器一定有問題,但我不知道如何檢查。

熟悉這兩個分類器的任何人都可以給我一些提示嗎?

線性SVC試圖通過在歐氏空間中找到合適的超平面來分離您的類。 您的樣本可能無法線性分離,從而導致性能不佳。 另一方面,隨機森林使用幾個(在這種情況下為50個)較簡單的分類器(決策樹),每個分類器都有分段線性決策邊界。 當將它們加在一起時,最終會得到更加復雜的決策功能。

以我的經驗,RF傾向於在默認參數下表現良好,甚至廣泛的參數搜索也只會稍微提高精度。 SVM的行為幾乎完全相反。

您嘗試過其他配置嗎? 如何為SVM進行網格搜索以尋找更好的參數?

由於您已經在使用sklearn ,因此可以使用sklearn.grid_search.GridSearchCV在此更多詳細信息

暫無
暫無

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

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