2013-04-05 18 views
1

我使用R的kernlab软件包中的ksvm函数在大量观测值(300k)上并没有很多特征(1-8)的情况下训练支持向量机。我想使用结果概率模型,但对于大型数据集,所得概率模型具有意想不到的格式。在R中使用ksvm的大型支持向量机的无效概率模型

这是应该发生什么:

n <- 1000 
df <- data.frame(label=c(rep("x",n),rep("y",n)),value=c(runif(n),runif(n)+2)) 
m <- ksvm(label~value,df,prob.model=TRUE) 

> prob.model(m) 
[[1]] 
[[1]]$A 
[1] -6.836228 

[[1]]$B 
[1] 0.003163229 

然而,对于n的大值(例如,100K;提防高内存使用情况和长执行时间的),的prob.model(m)[[1]]值是长度2n的数值向量,似乎在df每个观察的可能性。什么会造成这种情况?

会议信息:

R version 2.15.2 (2012-10-26) 
Platform: x86_64-unknown-linux-gnu (64-bit) 

locale: 
[1] LC_CTYPE=en_US.UTF-8  LC_NUMERIC=C    LC_TIME=en_US.UTF-8  LC_COLLATE=en_US.UTF-8  LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 LC_PAPER=C     LC_NAME=C     LC_ADDRESS=C 
[10] LC_TELEPHONE=C    LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C 

attached base packages: 
[1] graphics grDevices datasets utils  stats  methods base 

other attached packages: 
[1] kernlab_0.9-16 e1071_1.6-1  class_7.3-5  data.table_1.8.8 

loaded via a namespace (and not attached): 
[1] tools_2.15.2 

编辑:这是我说的是一个分类任务,df有以下形式:

label value 
"x" 0.21 
... 
"x" -1.20 
"y" 2.42 
... 

回答