У меня есть модель, предсказанная с использованием логистической регрессии с использованием 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
и как избавиться отвышеупомянутая ошибка.Спасибо