我剛開始使用機器學習。我嘗試使用C5.0模型進行10次交叉驗證。我要求代碼返回kappa值。機器學習中使用10倍交叉驗證的代碼
folds = createFolds(mdd.cohort1$edmsemmancomprej, k=10)
str(folds)
mdd.cohort1_train = mdd.cohort1[-folds$Fold01,]
mdd.cohort1_test = mdd.cohort1[folds$Fold01,]
library(caret)
library(C5.0)
library(irr)
set.seed(123)
folds = createFolds(mdd.cohort1$edmsemmancomprej, k=10)
cv_results = lapply(folds, function(x)
{mdd.cohort1_train = mdd.cohort1[-x, ]
mdd.cohort1_test = mdd.cohort1[x, ]
mdd.cohort1_model = C5.0(edmsemmancomprej ~., data = mdd.cohort1_train)
mdd.cohort1_pred = predict(mdd.cohort1_model, mdd.cohort1_test)
mdd.cohort1_actual = mdd.cohort1_test$edmsemmancomprej
kappa = kappa2(data.frame(mdd.cohort1_actual, mdd.cohort1_pred))$value return(kappa)})
提供了以下錯誤menssage:
Error: unexpected symbol in:
"mdd.cohort1_actual = mdd.cohort1_test$edmsemmancomprej
kappa = kappa2(data.frame(mdd.cohort1_actual, mdd.cohort1_pred))$value return"
沒有人知道發生了什麼事?提前感謝你!
可能是'return'語句應該放在新行上? – jMathew
如果你是機器學習的新手,你也可以考慮'mlr'庫https://mlr-org.github.io/mlr-tutorial/release/html/。 – jMathew
非常感謝,jMathew。現在代碼工作了! –