У меня есть модель, предсказанная с использованием логистической регрессии с использованием cv.glm в наборе обучающих данных, и когда я предсказываю ее на testdata
и пытаюсь создать матрицу путаницы, она выдает ошибку. Классы как поезда, так и набора testdata
несбалансированы.
Вот размеры наборов тестовых и обучающих данных. И мои traindata
, и testdata
взяты из большого набора данных из 1234 столбцов и 60 строк. Я случайным образом разделил их на два набора, чтобы в конце проверить чувствительность и специфичность классификации.
> dim(traindata)
40 1234
> dim(testdata)
[1] 20 1234
И это то, что я пробовал.
Subtype = factor(traindata$Subtype)
CV=cv.glmnet(x=data.matrix(traindata),y=Subtype,standardize=TRUE,alpha=0,nfolds=3,family="multinomial")
response_predict=predict(CV, data.matrix(testdata),type="response")
predicted = as.factor(names(response_predict)[1:3][apply(response_predict[1:3], 1, which.max)])
Здесь он выдает ошибку как:
Error in apply(response_predict[1:3], 1, which.max) :
dim(X) must have a positive length
Мой вопрос заключается в том, чтобы продолжить работу с таким несбалансированным набором данных, используя cv.glm
и как избавиться от вышеупомянутой ошибки. Спасибо