我是R和SVMs的新手,我試圖從e1071
包中描述svm
函數。但是,我找不到任何大型數據集,這使得我可以獲得不同大小輸入數據的良好分析結果範圍。有誰知道如何工作svm
?我應該使用哪個數據集? svm
的任何特定參數使其工作更難?分析支持SVM(e1071)R
我複製了一些我用來測試性能的命令。也許是最有用的,更容易得到什麼我想在這裏:
#loading libraries
library(class)
library(e1071)
#I've been using golubEsets (more examples availables)
library(golubEsets)
#get the data: matrix 7129x38
data(Golub_Train)
n <- exprs(Golub_Train)
#duplicate rows(to make the dataset larger)
n<-rbind(n,n)
#take training samples as a vector
samplelabels <- as.vector([email protected]@data$ALL.AML)
#calculate svm and profile it
Rprof('svm.out')
svmmodel1 <- svm(x=t(n), y=samplelabels, type='C', kernel="radial", cross=10)
Rprof(NULL)
我不斷增加的數據集複製的行和列,但我達到了內存極限,而不是使svm
工作更難的...
複製訓練點並不會讓問題變得更困難。由於大多數SVM需要將整個數據集放入主內存中,因此您最終會遇到內存錯誤。 – karenu
那麼,我該如何嘗試使用適當的大數據集呢?你知道我可以使用的任何例子嗎? – Manolete
是的,如果你看到我的答案,我列出了一些可用的數據集。此外,你應該做參數調整來找到最佳參數,你會發現,當你搜索給你最準確的參數時,一些訓練比其他訓練需要更長的時間。查看作者的libsvm中的實用指南:http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CFYQFjAA&url=http%3A%2F%2Fwww.csie.ntu .edu.tw%2F〜cjlin%2Fpapers%2Fguide%2Fguide.pdf&ei = WtLhT46NO-jw0gG30pHVAw&usg = AFQjCNFol0McRktHC6gsBxKXqQMvmQUFeg – karenu