ユーザー定義のカーネルを使用しようとしています。kernlab が R でユーザー定義のカーネル (カスタム カーネル関数) を提供していることは知っています。パッケージ kernlab を含むデータ スパムを使用しました。(変数の数=57 例の数=4061)
私はカーネルのフォームを定義しています。
kp=function(d,e){
as=v*d
bs=v*e
cs=as-bs
cs=as.matrix(cs)
exp(-(norm(cs,"F")^2)/2)
}
class(kp)="kernel"
これは、ガウス カーネル用に変換されたカーネルです。ここで、v
は各変数に関する標準偏差ベクトルの逆数である連続的に変化する値です。たとえば、次のようになります。
v=(0.1666667,........0.1666667)
トレーニング セットは、スパム データの 60% を定義しました (異なるクラスの割合を維持します)。
データのタイプがスパムの場合、train svm のデータのタイプ = 1 より
m=ksvm(xtrain,ytrain,type="C-svc",kernel=kp,C=10)
しかし、このステップはうまくいきません。常に応答を待っています。
では、この問題についてお尋ねします。なぜですか?例の数が多すぎるからですか?ユーザー定義カーネル用に SVM をトレーニングできる他の R パッケージはありますか?