我刚接触R和SVM,并试图从e1071软件包中剖析svm函数。然而,我找不到任何大型数据集,可以让我通过改变输入数据的大小来得到良好的剖析结果范围。有人知道如何使用svm吗?我应该使用哪个数据集?是否有一些特定的参数可以使svm更加高效?
我贴出了一些用于测试性能的命令。也许这是最有用和最容易理解我在这里尝试的内容:
我贴出了一些用于测试性能的命令。也许这是最有用和最容易理解我在这里尝试的内容:
#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(Golub_Train@phenoData@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
没有更多余地来工作了...