이 기능을 실행하여 n 배 교차 유효성 검사를 수행하고 있습니다. 오 분류 율은 폴드 (fold)에 따라 변하지 않습니다 (예 :GLM에 대해 n 배 교차 유효성 검사를 수행하는 중에`predict` 오류가 발생했습니다
: 나는 10 실행하거나 (50) 경우 나 또한 경고 얻고있다 "경고 메시지 :
'newData의'이 (가) 19 행하지만 변수는 189 개 행이 있었다"
내가 실행하는 경우를 함수의 일부가 아닌 코드, 원하는 것을하고 싶다 -> eg 접기 == 1 일 경우 10 %를 끌어 내고 모델을 데이터의 90 %에서 실행하고 다른 10 %를 예측합니다. 변수 및 폴드 수로 인해 변동이 표시되지 않는 이유는 누구입니까?
library("MASS")
data(birthwt)
data=birthwt
n.folds=10
jim = function(x,y,n.folds,data){
for(i in 1:n.folds){
folds <- cut(seq(1,nrow(data)),breaks=n.folds,labels=FALSE)
testIndexes <- which(folds==i,arr.ind=TRUE)
testData <- data[testIndexes, ]
trainData <- data[-testIndexes, ]
glm.train <- glm(y ~ x, family = binomial, data=trainData)
predictions=predict(glm.train, newdata =testData, type='response')
pred.class=ifelse(predictions< 0, 0, 1)
}
rate=sum(pred.class!= y)/length(y)
print(head(rate))
}
jim(birthwt$smoke, birthwt$low, 10, birthwt)
감사합니다. 예측은 (<0.5, 0,1)이어야합니다. 이 기능은 여전히 올바르지 않지만, 당신의 관찰에 감사드립니다. – user7090012
pred.class를 각 폴드의 모든 예측이있는 벡터로 지정합니다. 이 함수에서 저는 189 일 때 19면을 얻었습니다. 그런 다음 189면의 벡터를 사용하여 비율을 산출합니다. – user7090012