1

R の kernlab パッケージの関数を使用して、サポート ベクター マシンをksvmトレーニングします。多数の観測 (300k) とあまり多くの機能 (1-8) を使用しません。結果の確率モデルを使用したいのですが、大規模なデータ セットの場合、結果の確率モデルの形式が予期しないものになります。

これが起こるべきことです:

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
...
4

1 に答える 1

0

問題の原因は、次のエラー メッセージで示されます。

line search fails

私が使用した元のデータ フレームを含む、より具体的な質問は次のとおりです: Line search fails in training ksvm prob.model .

于 2013-04-09T07:32:37.057 に答える