# NOT RUN {
## Prediction depends on the nature of the call. Consider some examples.
library(mlbench)
data(Sonar)
n=dim(Sonar)[1]
p=dim(Sonar)[2]
nu=0.2
set.seed(100)
L=sort(sample(1:n,ceiling(nu*n)))
U=setdiff(1:n,L)
U1=sample(U,ceiling(0.5*n))
y.true<-Sonar$Class
Sonar$Class[U]=NA
## Typical, call to agraph and predict
g.agraph1<-agraph(Class~.,data=Sonar[c(L,U1),])
p.agraph1<-predict(g.agraph1,xnew=Sonar[U,-p])
tab=table(y.true[U],p.agraph1)
1-sum(diag(tab))/sum(tab)
# }
# NOT RUN {
## Predict the graph only case
ctrl=SemiSupervised.control()
scale.x=x.scaleL(Sonar[,-p],L)
g=AnchorGraph(scale.x[c(L,U1),-p],control=ctrl)
g.agraph2<-agraph(Class~aG(g),data=Sonar[c(L,U1),],control=ctrl)
g<-AnchorGraph(scale.x[U,-p],fit.g=g,control=ctrl)
p.agraph2<-predict(g.agraph2,gnew=g)
tab=table(y.true[U],p.agraph2)
1-sum(diag(tab))/sum(tab)
# }
Run the code above in your browser using DataLab