エキスパート私はRの初心者です。分類を行うためにキャレットSVMを使用しようとしています。カーネルはsvmPolyです。 まず、私は休暇ワンアウトクロスバリデーションでモデルを訓練するためにデフォルトパラメータを使用 コードは次のとおりです。キャレット - svmのエラー - 「添え字付きの割り当てではNAsは使用できません」
ctrl <- trainControl(method = "LOOCV",
classProbs = T,
savePredictions = T,
repeats = 1)
modelFit <- train(group~.,data=table_svm,method="svmPoly",
preProc = c("center","scale"),
trControl = ctrl)
最高の精度は80%です。モデルに使用された最終的な値は、degree = 1、scale = 0.1、およびc = 1でした。
第2に、パラメータを調整しようとしました。 コードです:
grid_svmpoly=expand.grid(degree=c(1:11),scale=seq(0,5,length.out=25),C=10^c(0:4))
modelFit_tune <- train(group~.,data=table_svm,method="svmPoly",
preProc = c("center","scale"),
tuneGrid=grid_svmpoly,
trControl = ctrl)
私はエラーメッセージました:{でエラー: タスク264が失敗した - 私は、データをチェックし、何のNAを発見した「NASは添字の割り当てで許可されていない」
。
ありがとう、Nandi。私はあなたのコードを使ってNAsを探し、 "整数(0)"を得ました。 – Yadi
同じパラメータで小さなデータセットを使用して問題を再現しようとしましたが、何の問題もなく機能しました。私はあなたもこれを試してみたいと思うかもしれないと思う。したがって、 "mlbench"をインストールすると、データセット電離層が1つあります。電離層データを使用し、上記のコードを実行します。それが動作します。もしあなたがそれに問題があれば教えてください。 – BoyInDaBox89
ありがとう、Nandi。私はまだこの問題の原因を理解することはできません。しかし、 'tuneGrid = grid_svmpoly'を' tuneLength = 9'に置き換えてもエラーは発生しませんでした。精度は85%に上昇しました。 – Yadi