2016-08-02 71 views
1

因此,我運行了一個SVM分類器(線性內核和概率爲false),從具有大約120個特徵和10,000個觀測值的數據幀上sklearn。由於超出計算限制,該程序需要花費數小時才能運行,並且會一直崩潰。想知道這個數據幀是否可能太大?SVM的數據太多?

+0

對於線性內核(至少對於LinearSVC;對於內核=線性的SVC不確定),應該是可以的。向我們展示代碼! – sascha

回答

0

您可以嘗試更改算法的參數。

Tips on practical use from the documentation.

你可以嘗試不同的算法,這裏是你可能會發現有用的備忘單:

enter image description here

+0

他正在使用線性內核,所以沒有內核緩存(正在使用)! – sascha

+0

謝謝 - 更新了我的文章 – bobo

+0

而作弊表完全推薦他在做什麼(分類<100k樣本 - >線性SVC)。所以這些信息沒有任何好處。 – sascha

2

總之沒有,這不是太大的。線性svm可以進一步擴展。另一方面,libSVC庫不能。好東西,即使在scikit-learn中你也有大規模的svm實現 - 基於liblinear的LinearSVC。您也可以使用SGD(也可以在scikitlearn中獲得)來解決這個問題,它也將彙集更大的數據集。

0

該實現基於libsvm。擬合時間複雜度爲 比樣本數量多二次方,這使得難以將 縮放到具有多於10000個樣本的數據集。

的官方數據大約sklearn svm告訴theshold是10,000個樣本 所以SGD可能是一個更好的嘗試。