Send output to:
Browser Blue - Charts White
Browser Black/White
CSV
Data X:
14 12 13 38 41 1 1 18 11 16 32 39 1 1 11 15 19 35 30 1 1 12 6 15 33 31 0 1 16 13 14 37 34 1 1 18 10 13 29 35 1 1 14 12 19 31 39 1 1 14 14 15 36 34 1 1 15 12 14 35 36 1 1 15 9 15 38 37 1 1 17 10 16 31 38 0 1 19 12 16 34 36 1 1 10 12 16 35 38 0 1 16 11 16 38 39 1 1 18 15 17 37 33 1 1 14 12 15 33 32 0 1 14 10 15 32 36 0 1 17 12 20 38 38 1 1 14 11 18 38 39 0 1 16 12 16 32 32 1 1 18 11 16 33 32 0 1 11 12 16 31 31 1 1 14 13 19 38 39 1 1 12 11 16 39 37 1 1 17 12 17 32 39 0 1 9 13 17 32 41 1 1 16 10 16 35 36 0 1 14 14 15 37 33 1 1 15 12 16 33 33 1 1 11 10 14 33 34 0 1 16 12 15 31 31 1 1 13 8 12 32 27 0 1 17 10 14 31 37 1 1 15 12 16 37 34 1 1 14 12 14 30 34 0 1 16 7 10 33 32 0 1 9 9 10 31 29 0 1 15 12 14 33 36 0 1 17 10 16 31 29 1 1 13 10 16 33 35 0 1 15 10 16 32 37 0 1 16 12 14 33 34 1 1 16 15 20 32 38 0 1 12 10 14 33 35 0 1 15 10 14 28 38 1 1 11 12 11 35 37 1 1 15 13 14 39 38 1 1 15 11 15 34 33 1 1 17 11 16 38 36 1 1 13 12 14 32 38 0 1 16 14 16 38 32 1 1 14 10 14 30 32 0 1 11 12 12 33 32 0 1 12 13 16 38 34 1 1 12 5 9 32 32 0 1 15 6 14 35 37 1 1 16 12 16 34 39 1 1 15 12 16 34 29 1 1 12 11 15 36 37 0 1 12 10 16 34 35 1 1 8 7 12 28 30 0 1 13 12 16 34 38 0 1 11 14 16 35 34 1 1 14 11 14 35 31 1 1 15 12 16 31 34 1 1 10 13 17 37 35 0 1 11 14 18 35 36 1 1 12 11 18 27 30 0 1 15 12 12 40 39 1 1 15 12 16 37 35 0 1 14 8 10 36 38 0 1 16 11 14 38 31 1 1 15 14 18 39 34 1 1 15 14 18 41 38 0 1 13 12 16 27 34 0 1 12 9 17 30 39 1 1 17 13 16 37 37 1 1 13 11 16 31 34 1 1 15 12 13 31 28 0 1 13 12 16 27 37 0 1 15 12 16 36 33 0 1 15 12 16 37 35 1 1 16 12 15 33 37 0 1 15 11 15 34 32 1 1 14 10 16 31 33 1 1 15 9 14 39 38 0 1 14 12 16 34 33 1 1 13 12 16 32 29 1 1 7 12 15 33 33 1 1 17 9 12 36 31 1 1 13 15 17 32 36 1 1 15 12 16 41 35 1 1 14 12 15 28 32 1 1 13 12 13 30 29 1 1 16 10 16 36 39 1 1 12 13 16 35 37 1 1 14 9 16 31 35 1 1 17 12 16 34 37 0 1 15 10 14 36 32 0 1 17 14 16 36 38 1 1 12 11 16 35 37 0 1 16 15 20 37 36 1 1 11 11 15 28 32 0 1 15 11 16 39 33 1 1 9 12 13 32 40 0 1 16 12 17 35 38 1 1 15 12 16 39 41 0 1 10 11 16 35 36 0 1 10 7 12 42 43 1 1 15 12 16 34 30 1 1 11 14 16 33 31 1 1 13 11 17 41 32 1 1 18 10 12 34 37 1 1 16 13 18 32 37 0 1 14 13 14 40 33 1 1 14 8 14 40 34 1 1 14 11 13 35 33 1 1 14 12 16 36 38 1 1 12 11 13 37 33 0 1 14 13 16 27 31 1 1 15 12 13 39 38 1 1 15 14 16 38 37 1 1 15 13 15 31 36 1 1 13 15 16 33 31 1 1 17 10 15 32 39 0 1 17 11 17 39 44 1 1 19 9 15 36 33 1 1 15 11 12 33 35 1 1 13 10 16 33 32 0 1 9 11 10 32 28 0 1 15 8 16 37 40 1 1 15 11 12 30 27 0 1 15 12 14 38 37 0 1 16 12 15 29 32 1 1 11 9 13 22 28 0 1 14 11 15 35 34 0 1 11 10 11 35 30 1 1 15 8 12 34 35 1 1 13 9 11 35 31 0 1 15 8 16 34 32 1 1 16 9 15 37 30 0 1 14 15 17 35 30 1 1 15 11 16 23 31 0 1 16 8 10 31 40 1 1 16 13 18 27 32 1 1 11 12 13 36 36 0 1 12 12 16 31 32 0 1 9 9 13 32 35 0 1 16 7 10 39 38 1 1 13 13 15 37 42 1 1 16 9 16 38 34 0 1 12 6 16 39 35 1 1 9 8 14 34 38 1 1 13 8 10 31 33 1 1 14 6 13 37 32 1 1 19 9 15 36 33 1 1 13 11 16 32 34 1 1 12 8 12 38 32 1 1 10 10 13 26 27 0 0 14 8 12 26 31 0 0 16 14 17 33 38 0 0 10 10 15 39 34 1 0 11 8 10 30 24 0 0 14 11 14 33 30 0 0 12 12 11 25 26 1 0 9 12 13 38 34 1 0 9 12 16 37 27 0 0 11 5 12 31 37 0 0 16 12 16 37 36 1 0 9 10 12 35 41 0 0 13 7 9 25 29 1 0 16 12 12 28 36 1 0 13 11 15 35 32 0 0 9 8 12 33 37 1 0 12 9 12 30 30 0 0 16 10 14 31 31 1 0 11 9 12 37 38 1 0 14 12 16 36 36 1 0 13 6 11 30 35 0 0 15 15 19 36 31 0 0 14 12 15 32 38 0 0 16 12 8 28 22 1 0 13 12 16 36 32 1 0 14 11 17 34 36 0 0 15 7 12 31 39 1 0 13 7 11 28 28 0 0 11 5 11 36 32 0 0 11 12 14 36 32 1 0 14 12 16 40 38 1 0 15 3 12 33 32 1 0 11 11 16 37 35 1 0 15 10 13 32 32 1 0 12 12 15 38 37 0 0 14 9 16 31 34 1 0 14 12 16 37 33 1 0 8 9 14 33 33 0 0 9 12 16 30 30 0 0 15 10 14 30 24 0 0 17 9 11 31 34 0 0 13 12 12 32 34 0 0 15 8 15 34 33 1 0 15 11 15 36 34 1 0 14 11 16 37 35 1 0 16 12 16 36 35 0 0 13 10 11 33 36 0 0 16 10 15 33 34 0 0 9 12 12 33 34 1 0 16 12 12 44 41 0 0 11 11 15 39 32 0 0 10 8 15 32 30 0 0 11 12 16 35 35 1 0 15 10 14 25 28 0 0 17 11 17 35 33 1 0 14 10 14 34 39 1 0 8 8 13 35 36 0 0 15 12 15 39 36 1 0 11 12 13 33 35 0 0 16 10 14 36 38 0 0 10 12 15 32 33 1 0 15 9 12 32 31 0 0 16 6 8 36 32 1 0 19 10 14 32 31 0 0 12 9 14 34 33 0 0 8 9 11 33 34 0 0 11 9 12 35 34 0 0 14 6 13 30 34 1 0 9 10 10 38 33 0 0 15 6 16 34 32 0 0 13 14 18 33 41 1 0 16 10 13 32 34 1 0 11 10 11 31 36 0 0 12 6 4 30 37 0 0 13 12 13 27 36 0 0 10 12 16 31 29 1 0 11 7 10 30 37 0 0 12 8 12 32 27 0 0 8 11 12 35 35 0 0 12 3 10 28 28 0 0 12 6 13 33 35 0 0 11 8 12 35 29 0 0 13 9 14 35 32 0 0 14 9 10 32 36 1 0 10 8 12 21 19 1 0 12 9 12 20 21 1 0 15 7 11 34 31 0 0 13 7 10 32 33 0 0 13 6 12 34 36 1 0 13 9 16 32 33 1 0 12 10 12 33 37 0 0 12 11 14 33 34 0 0 9 12 16 37 35 0 0 9 8 14 32 31 1 0 15 11 13 34 37 1 0 10 3 4 30 35 1 0 14 11 15 30 27 1 0 15 12 11 38 34 0 0 7 7 11 36 40 0 0 14 9 14 32 29 0 0 8 12 15 34 38 0 0 10 8 14 33 34 1 0 13 11 13 27 21 0 0 13 8 11 32 36 0 0 13 10 15 34 38 1 0 8 8 11 29 30 0 0 12 7 13 35 35 0 0 13 8 13 27 30 1 0 12 10 16 33 36 1 0 10 8 13 38 34 0 0 13 12 16 36 35 1 0 12 14 16 33 34 0 0 9 7 12 39 32 0 0 15 6 7 29 33 1 0 13 11 16 32 33 0 0 13 4 5 34 26 1 0 13 9 16 38 35 0 0 15 5 4 17 21 0 0 15 9 12 35 38 0 0 14 11 15 32 35 0 0 15 12 14 34 33 1 0 11 9 11 36 37 0 0 15 12 16 31 38 0 0 14 10 15 35 34 1 0 13 9 12 29 27 0 0 12 6 6 22 16 1 0 16 10 16 41 40 0 0 16 9 10 36 36 0 0 9 13 15 42 42 1 0 14 12 14 33 30 1 0
Names of X columns:
Happiness Software Learning Separate Connected Gender Pop
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