用logistic回归做分类,把一个数据随机分100次训练和测试样本,每次算出一个错误率,最后算出这100次的平均错误率。以下是写的代码,很奇怪的是一开始是成功的。可后来突然不行了,报错是Error in mean(error) : error in evaluating the argument 'x' in selecting a method for function 'mean': Error: object 'error' not found
后来重新载入之前的workspace又可以。但是关掉开个全新的跑又会报错。不知道代码方面有没有什么问题,请指正。
【code】
n=length(mydata$y)
n1=floor(n*(0.9))
n2=n-n1
set.seed(1)
for (k in 1:100) {
train=sample(1:n,n1)
traindata=mydata[train,]
testdata = mydata[-train,]
ytest =mydata$y[-train]
m=glm(y~.,family=binomial,data=traindata)
ptest=predict(m,newdata=testdata,type="response")
g=floor(ptest+0.5)
t=table(ytest,g)
error[k]=(t[1,2]+t[2,1])/n2
}
mean(error)【/code】


雷达卡





京公网安备 11010802022788号







