2016-05-01 5 views
3

SVMモデルをトレーニングしようとしていますRでは、キャレットとdoMCを使用しています。RのSVMを使用したキャレット:名前のエラー(リサイズ)< - gsub( "^ \。"、 "名前(リサイズ)):NULLでアトリビュートを設定しようとしました

library(mlbench) 
library(caret) 
library(doMC) 
registerDoMC(cores = 8) 
training <- mlbench.cassini(5000) 
Fitsvm<-train(classes ~ .,data=training, 
        preProcess=c('scale', 'center'), 
        method="svmRadial", 
        tuneGrid=expand.grid(sigma=0.5,C=c(0.01,0.05,0.1,0.5,1))) 

しかし、私はこのコードを実行すると、私は次のメッセージが表示されます:ここでは再現性の一例である

Error in names(resamples) <- gsub("^\\.", "", names(resamples)) : 
    attempt to set an attribute on NULL 

私はキャレットと並列SVMで実行しようとすると、このエラーはのみ表示され、 SVMモデルでのみ使用できます。 GBMまたはRFで実行すると、コードは正常に機能します。何が間違っているのか、どうすればそれを稼働させることができますか?キャレットはSVM並列化をサポートしていますか?ありがとうございました。

私は、Macbookプロで、2013年中頃に4コアで実行しています。

答えて

1

あなたのトレーニングオブジェクトは、あなたがdata.frameとして渡すリストです。

トレーニングオブジェクトをdata.frameに変更すると、それが機能するはずです。

training <- data.frame(mlbench.cassini(5000)) 
+0

まあ、data.frameとしても入れてみましたが、同じ結果が得られています。しかし、これは私が他のモデルとの訓練を並列化するときに起こりません。 – hachondeoro

+1

この回答は役に立ちません。私は同じ問題を経験しています。 –

関連する問題