Send output to:
Browser Blue - Charts White
Browser Black/White
CSV
Data X:
5 2 1 3 73 62 66 12 1 1 1 58 54 54 11 1 1 3 68 41 82 6 1 1 3 62 49 61 12 1 2 3 65 49 65 11 1 1 3 81 72 77 12 1 1 1 73 78 66 7 2 4 3 64 58 66 8 1 1 3 68 58 66 13 1 1 1 51 23 48 12 1 1 1 68 39 57 13 1 1 3 61 63 80 12 1 1 1 69 46 60 12 1 3 3 73 58 70 11 2 1 3 61 39 85 12 2 1 1 62 44 59 12 1 1 1 63 49 72 12 1 6 1 69 57 70 11 2 1 3 47 76 74 13 2 1 1 66 63 70 9 1 1 3 58 18 51 11 2 1 3 63 40 70 11 1 1 1 69 59 71 11 2 1 3 59 62 72 9 1 1 1 59 70 50 11 2 1 4 63 65 69 12 2 1 3 65 56 73 12 1 1 3 65 45 66 10 2 1 3 71 57 73 12 1 4 3 60 50 58 12 2 1 1 81 40 78 12 1 1 3 67 58 83 9 2 1 3 66 49 76 9 1 1 3 62 49 77 12 1 1 3 63 27 79 14 2 1 1 73 51 71 12 2 1 3 55 75 79 11 1 1 1 59 65 60 9 1 1 2 64 47 73 11 2 1 3 63 49 70 7 1 1 1 64 65 42 15 1 1 1 73 61 74 11 1 1 3 54 46 68 12 1 1 3 76 69 83 12 2 2 1 74 55 62 9 2 1 3 63 78 79 12 2 1 3 73 58 61 11 2 1 3 67 34 86 11 2 2 3 68 67 64 8 1 4 3 66 45 75 7 2 1 1 62 68 59 12 2 4 3 71 49 82 8 1 1 2 63 19 61 10 1 1 1 75 72 69 12 1 2 2 77 59 60 15 2 3 3 62 46 59 12 1 1 3 74 56 81 12 2 2 1 67 45 65 12 2 1 3 56 53 60 12 2 1 1 60 67 60 8 2 1 3 58 73 45 10 1 1 3 65 46 75 14 2 1 3 49 70 84 10 1 1 3 61 38 77 12 2 1 3 66 54 64 14 2 1 3 64 46 54 6 2 1 1 65 46 72 11 1 1 3 46 45 56 10 2 1 3 65 47 67 14 2 1 3 81 25 81 12 1 1 1 72 63 73 13 2 1 1 65 46 67 11 2 1 3 74 69 72 11 1 1 3 59 43 69 12 1 1 1 69 49 71 13 2 2 3 58 39 77 12 1 1 1 71 65 63 8 2 1 3 79 54 49 12 2 1 3 68 50 74 11 1 1 3 66 42 76 10 2 1 3 62 45 65 12 1 1 3 69 50 65 11 2 2 7 63 55 69 12 1 1 1 62 38 71 12 1 1 3 61 40 68 10 2 1 1 65 51 49 12 1 1 3 64 49 86 12 2 1 1 56 39 63 11 2 1 3 56 57 77 10 1 1 3 48 30 52 12 1 1 1 74 51 73 11 1 1 1 69 48 63 12 1 4 3 62 56 54 12 1 1 2 73 66 56 10 1 1 1 64 72 54 11 1 1 1 57 28 61 10 1 1 2 57 52 70 11 2 1 2 60 53 68 11 2 1 1 61 70 63 12 1 1 2 72 63 76 11 1 1 3 57 46 69 11 1 2 3 51 45 71 7 1 1 2 63 68 39 12 1 1 3 54 54 54 8 1 1 1 72 60 64 10 1 1 3 62 50 70 12 1 1 2 68 66 76 11 1 1 3 62 56 71 13 2 1 2 63 54 73 9 1 1 3 77 72 81 11 1 1 1 57 34 50 13 1 1 1 57 39 42 8 1 1 3 61 66 66 12 1 1 3 65 27 77 11 1 1 3 63 63 62 11 2 1 1 66 65 66 12 1 1 3 68 63 69 13 1 1 3 72 49 72 11 1 1 1 68 42 67 10 1 1 1 59 51 59 10 1 4 3 56 50 66 10 1 1 1 62 64 68 12 2 1 3 72 68 72 12 2 1 3 68 66 73 13 1 1 3 67 59 69 11 1 2 1 54 32 57 11 2 1 1 69 62 55 12 1 2 3 61 52 72 9 1 1 3 55 34 68 11 2 1 3 75 63 83 12 1 1 3 55 48 74 12 1 1 3 49 53 72 13 2 1 3 54 39 66 6 1 1 3 66 51 61 11 1 1 3 73 60 86 10 2 1 2 63 70 81 12 2 4 3 61 40 79 11 1 1 3 74 61 73 12 2 5 3 81 35 59 12 1 1 1 62 39 64 7 1 1 2 64 31 75 12 1 1 3 62 36 68 12 1 1 1 85 51 84 9 1 1 1 74 55 68 12 1 1 3 51 67 68 12 1 1 3 66 40 69
Names of X columns:
FF Geslacht Opvoeding Huwelijksstatus TotNV TotAngst TotGroep
Endogenous Variable (Column Number)
Categorization
none
none
quantiles
hclust
equal
Number of categories (only if categorization<>none)
Cross-Validation? (only if categorization<>none)
no
no
yes
Chart options
R Code
library(party) library(Hmisc) par1 <- as.numeric(par1) par3 <- as.numeric(par3) x <- data.frame(t(y)) is.data.frame(x) x <- x[!is.na(x[,par1]),] k <- length(x[1,]) n <- length(x[,1]) colnames(x)[par1] x[,par1] if (par2 == 'kmeans') { cl <- kmeans(x[,par1], par3) print(cl) clm <- matrix(cbind(cl$centers,1:par3),ncol=2) clm <- clm[sort.list(clm[,1]),] for (i in 1:par3) { cl$cluster[cl$cluster==clm[i,2]] <- paste('C',i,sep='') } cl$cluster <- as.factor(cl$cluster) print(cl$cluster) x[,par1] <- cl$cluster } if (par2 == 'quantiles') { x[,par1] <- cut2(x[,par1],g=par3) } if (par2 == 'hclust') { hc <- hclust(dist(x[,par1])^2, 'cen') print(hc) memb <- cutree(hc, k = par3) dum <- c(mean(x[memb==1,par1])) for (i in 2:par3) { dum <- c(dum, mean(x[memb==i,par1])) } hcm <- matrix(cbind(dum,1:par3),ncol=2) hcm <- hcm[sort.list(hcm[,1]),] for (i in 1:par3) { memb[memb==hcm[i,2]] <- paste('C',i,sep='') } memb <- as.factor(memb) print(memb) x[,par1] <- memb } if (par2=='equal') { ed <- cut(as.numeric(x[,par1]),par3,labels=paste('C',1:par3,sep='')) x[,par1] <- as.factor(ed) } table(x[,par1]) colnames(x) colnames(x)[par1] x[,par1] if (par2 == 'none') { m <- ctree(as.formula(paste(colnames(x)[par1],' ~ .',sep='')),data = x) } load(file='createtable') if (par2 != 'none') { m <- ctree(as.formula(paste('as.factor(',colnames(x)[par1],') ~ .',sep='')),data = x) if (par4=='yes') { a<-table.start() a<-table.row.start(a) a<-table.element(a,'10-Fold Cross Validation',3+2*par3,TRUE) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a,'',1,TRUE) a<-table.element(a,'Prediction (training)',par3+1,TRUE) a<-table.element(a,'Prediction (testing)',par3+1,TRUE) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a,'Actual',1,TRUE) for (jjj in 1:par3) a<-table.element(a,paste('C',jjj,sep=''),1,TRUE) a<-table.element(a,'CV',1,TRUE) for (jjj in 1:par3) a<-table.element(a,paste('C',jjj,sep=''),1,TRUE) a<-table.element(a,'CV',1,TRUE) a<-table.row.end(a) for (i in 1:10) { ind <- sample(2, nrow(x), replace=T, prob=c(0.9,0.1)) m.ct <- ctree(as.formula(paste('as.factor(',colnames(x)[par1],') ~ .',sep='')),data =x[ind==1,]) if (i==1) { m.ct.i.pred <- predict(m.ct, newdata=x[ind==1,]) m.ct.i.actu <- x[ind==1,par1] m.ct.x.pred <- predict(m.ct, newdata=x[ind==2,]) m.ct.x.actu <- x[ind==2,par1] } else { m.ct.i.pred <- c(m.ct.i.pred,predict(m.ct, newdata=x[ind==1,])) m.ct.i.actu <- c(m.ct.i.actu,x[ind==1,par1]) m.ct.x.pred <- c(m.ct.x.pred,predict(m.ct, newdata=x[ind==2,])) m.ct.x.actu <- c(m.ct.x.actu,x[ind==2,par1]) } } print(m.ct.i.tab <- table(m.ct.i.actu,m.ct.i.pred)) numer <- 0 for (i in 1:par3) { print(m.ct.i.tab[i,i] / sum(m.ct.i.tab[i,])) numer <- numer + m.ct.i.tab[i,i] } print(m.ct.i.cp <- numer / sum(m.ct.i.tab)) print(m.ct.x.tab <- table(m.ct.x.actu,m.ct.x.pred)) numer <- 0 for (i in 1:par3) { print(m.ct.x.tab[i,i] / sum(m.ct.x.tab[i,])) numer <- numer + m.ct.x.tab[i,i] } print(m.ct.x.cp <- numer / sum(m.ct.x.tab)) for (i in 1:par3) { a<-table.row.start(a) a<-table.element(a,paste('C',i,sep=''),1,TRUE) for (jjj in 1:par3) a<-table.element(a,m.ct.i.tab[i,jjj]) a<-table.element(a,round(m.ct.i.tab[i,i]/sum(m.ct.i.tab[i,]),4)) for (jjj in 1:par3) a<-table.element(a,m.ct.x.tab[i,jjj]) a<-table.element(a,round(m.ct.x.tab[i,i]/sum(m.ct.x.tab[i,]),4)) a<-table.row.end(a) } a<-table.row.start(a) a<-table.element(a,'Overall',1,TRUE) for (jjj in 1:par3) a<-table.element(a,'-') a<-table.element(a,round(m.ct.i.cp,4)) for (jjj in 1:par3) a<-table.element(a,'-') a<-table.element(a,round(m.ct.x.cp,4)) a<-table.row.end(a) a<-table.end(a) table.save(a,file='mytable3.tab') } } m bitmap(file='test1.png') plot(m) dev.off() bitmap(file='test1a.png') plot(x[,par1] ~ as.factor(where(m)),main='Response by Terminal Node',xlab='Terminal Node',ylab='Response') dev.off() if (par2 == 'none') { forec <- predict(m) result <- as.data.frame(cbind(x[,par1],forec,x[,par1]-forec)) colnames(result) <- c('Actuals','Forecasts','Residuals') print(result) } if (par2 != 'none') { print(cbind(as.factor(x[,par1]),predict(m))) myt <- table(as.factor(x[,par1]),predict(m)) print(myt) } bitmap(file='test2.png') if(par2=='none') { op <- par(mfrow=c(2,2)) plot(density(result$Actuals),main='Kernel Density Plot of Actuals') plot(density(result$Residuals),main='Kernel Density Plot of Residuals') plot(result$Forecasts,result$Actuals,main='Actuals versus Predictions',xlab='Predictions',ylab='Actuals') plot(density(result$Forecasts),main='Kernel Density Plot of Predictions') par(op) } if(par2!='none') { plot(myt,main='Confusion Matrix',xlab='Actual',ylab='Predicted') } dev.off() if (par2 == 'none') { detcoef <- cor(result$Forecasts,result$Actuals) a<-table.start() a<-table.row.start(a) a<-table.element(a,'Goodness of Fit',2,TRUE) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a,'Correlation',1,TRUE) a<-table.element(a,round(detcoef,4)) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a,'R-squared',1,TRUE) a<-table.element(a,round(detcoef*detcoef,4)) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a,'RMSE',1,TRUE) a<-table.element(a,round(sqrt(mean((result$Residuals)^2)),4)) a<-table.row.end(a) a<-table.end(a) table.save(a,file='mytable1.tab') a<-table.start() a<-table.row.start(a) a<-table.element(a,'Actuals, Predictions, and Residuals',4,TRUE) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a,'#',header=TRUE) a<-table.element(a,'Actuals',header=TRUE) a<-table.element(a,'Forecasts',header=TRUE) a<-table.element(a,'Residuals',header=TRUE) a<-table.row.end(a) for (i in 1:length(result$Actuals)) { a<-table.row.start(a) a<-table.element(a,i,header=TRUE) a<-table.element(a,result$Actuals[i]) a<-table.element(a,result$Forecasts[i]) a<-table.element(a,result$Residuals[i]) a<-table.row.end(a) } a<-table.end(a) table.save(a,file='mytable.tab') } if (par2 != 'none') { a<-table.start() a<-table.row.start(a) a<-table.element(a,'Confusion Matrix (predicted in columns / actuals in rows)',par3+1,TRUE) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a,'',1,TRUE) for (i in 1:par3) { a<-table.element(a,paste('C',i,sep=''),1,TRUE) } a<-table.row.end(a) for (i in 1:par3) { a<-table.row.start(a) a<-table.element(a,paste('C',i,sep=''),1,TRUE) for (j in 1:par3) { a<-table.element(a,myt[i,j]) } a<-table.row.end(a) } a<-table.end(a) table.save(a,file='mytable2.tab') }
Compute
Summary of computational transaction
Raw Input
view raw input (R code)
Raw Output
view raw output of R engine
Computing time
1 seconds
R Server
Big Analytics Cloud Computing Center
Click here to blog (archive) this computation