0

Titanic Kaggle データセットを使用して、R で SVM モデルの調整を完了しようとしています。

次のコードを実行すると:

tune.out = tune(svm, Survived ~ Pclass + Sex + Age + Fare + Embarked + family, 
            data = boat, kernel = "linear", 
            ranges = list(cost = c(0.001, 0.01, 0.1, 1, 5, 10, 100)))

エラーが発生します:

Error in names(ret2) <- rowns : 
 'names' attribute [90] must be the same length as the vector [71]

トレースバックを使用:

3: predict.svm(model, if (!is.null(validation.x)) validation.x else if (useFormula) data[-train.ind[[sample]], 
   , drop = FALSE] else if (inherits(train.x, "matrix.csr")) train.x[-train.ind[[sample]], 
   ] else train.x[-train.ind[[sample]], , drop = FALSE])
2: predict.func(model, if (!is.null(validation.x)) validation.x else if (useFormula) data[-train.ind[[sample]], 
   , drop = FALSE] else if (inherits(train.x, "matrix.csr")) train.x[-train.ind[[sample]], 
   ] else train.x[-train.ind[[sample]], , drop = FALSE])
1: tune(svm, Survived ~ Pclass + Sex + Age + Fare + Embarked + family, 
   data = boat, kernel = "linear", ranges = list(cost = c(0.001, 
       0.01, 0.1, 1, 5, 10, 100)))

私の変数に何か問題がある可能性があることは理解しています。

それが役立つ場合、私は変数を変更していませんが、束を削除しました(チューニング式に見られないもので、次の方法で新しい変数を作成しましたfamily

boat$family = boat$SibSp + boat$Parch
boat$family[boat$family > 0] = 1

ボートはdata.table.

4

0 に答える 0