간단한 예를 들어주세요. 나는 걱정하고있다! 나는 erorest 기능을 시험해보고 LDA의 10 배에 해당하는 예를 제시합니다. 그러나 내 데이터를 사용했을 때 예측은 숫자가 아니라고 말한 것입니다. 나는 이유를 모른다! 고맙습니다! R 코드는 다음과 같습니다.CV 테스트를 통해 LDA의 분류 오류를 조사하는 방법
library(MASS)
df.cv=data.frame(V1=Xtilde[,1],V2=Xtilde[,2])
exper1<-lda(y~V1+V2,data=df.d)
plda<-predict(exper1,newdata=df.cv)
마지막으로 내가 일 원래의 데이터로 CV를 사용하고보고 싶어 :
library(MASS)
n=500
#generate x1 and x2.
Sigma=matrix(c(2,0,0,1),nrow=2,ncol=2)
#Logistic model with parameter{1,4,-2}
beta.star=c(1,4,-2)
Xtilde=mvrnorm(n=n,mu=c(0.5,2),Sigma=Sigma)
X=cbind(1,Xtilde)
z=X%*%beta.star
#pass througn an inv-logit function
pr=exp(z)/(1+exp(z))
#Simulate binary response
# The "probability of respoonse is a vector"
y=rbinom(n,1,pr)
가 그럼 난 모델을 얻을 수있는 LDA를 사용 : 그래서 내가 데이터를 생성 바이너리 LDA를 수행 할 오류. 나는 잘못했다 :
mypredict.lda <- function(object, newdata)
predict(object, newdata = newdata)$class
errorest(y ~ ., data=data.frame(da), model=lda,estimator ="cv", predict= as.numeric(mypredict.lda))
CV로 오류를 얻으려면 어떻게해야합니까?
'mypredict.lda'를 함수로 정의했습니다. 개체에 모델에 기초한 예상 값이 포함되어 있지 않습니다. 함수를'as.numeric'에 강요하지 말아라. –