# 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 jtharm and predict
g.jtharm1<-jtharm(Class~.,data=Sonar[c(L,U1),])
p.jtharm1<-predict(g.jtharm1,xnew=Sonar[U,-p])
tab=table(y.true[U],p.jtharm1)
1-sum(diag(tab))/sum(tab)
# }
# NOT RUN {
## Predict the graph only case Debug later
Dij<-x.scaleL(Sonar[,-p],L)
Dij<-as.matrix(cosineDist(Dij))
Dij1<-Dij[c(L,U1),c(L,U1)]
attr(Dij1,"metric")=attr(Dij,"metric")
attr(Dij1,"distance.graph")=attr(Dij,"distance.graph")
g.jtharm2<-jtharm(Class~dG(Dij1),data=Sonar[c(L,U1),])
p.jtharm2<-predict(g.jtharm2,gnew=Dij[U,c(L,U1)])
tab=table(y.true[U],p.jtharm2)
1-sum(diag(tab))/sum(tab)
# }
Run the code above in your browser using DataLab