0

我是机器学习的新手。我在 r 中的 lda 函数中遇到问题。

下面是我的代码

library(MASS)

folds <- createFolds(ForwardPlayers$Rating, k = 10)


cv_lda <- lapply(folds, function(x) { # start of function
  # in the next two lines we will separate the Training set into it's 10 pieces
  training_fold = ForwardPlayers[-x, ] # training fold =  training set minus (-) it's sub test fold
  print(training_fold)
  test_fold = ForwardPlayers[x, ] # here we describe the test fold individually
  # now apply (train) the classifer on the training_fold
  classifier = lda(Rating ~ .,training_fold)
  # next step in the loop, we calculate the predictions and cm and we equate the accuracy
  # note we are training on training_fold and testing its accuracy on the test_fold
  y_pred = predict(classifier, newdata = test_fold[-1]) 
  length(test_fold[,1])
  length(y_pred)
  cm = table(test_fold$Rating, y_pred$class)

  accuracy <- sum(diag(cm))/sum(cm)


  return(accuracy)
})

accuracy_lda <- mean(as.numeric(cv_lda))

它给了我以下错误。

Warning message:
In lda.default(x, grouping, ...) : group 1 is empty

先感谢您!!

4

0 回答 0