Send output to:
Browser Blue - Charts White
Browser Black/White
CSV
Data X:
41 38 7 53 145 56 39 32 5 86 101 56 30 35 5 66 98 54 31 33 5 67 132 89 34 37 8 76 60 40 35 29 6 78 38 25 39 31 5 53 144 92 34 36 6 80 5 18 36 35 5 74 28 63 37 38 4 76 84 44 38 31 6 79 79 33 36 34 5 54 127 84 38 35 5 67 78 88 39 38 6 54 60 55 33 37 7 87 131 60 32 33 6 58 84 66 36 32 7 75 133 154 38 38 6 88 150 53 39 38 8 64 91 119 32 32 7 57 132 41 32 33 5 66 136 61 31 31 5 68 124 58 39 38 7 54 118 75 37 39 7 56 70 33 39 32 5 86 107 40 41 32 4 80 119 92 36 35 10 76 89 100 33 37 6 69 112 112 33 33 5 78 108 73 34 33 5 67 52 40 31 28 5 80 112 45 27 32 5 54 116 60 37 31 6 71 123 62 34 37 5 84 125 75 34 30 5 74 27 31 32 33 5 71 162 77 29 31 5 63 32 34 36 33 5 71 64 46 29 31 5 76 92 99 35 33 5 69 0 17 37 32 5 74 83 66 34 33 7 75 41 30 38 32 5 54 47 76 35 33 6 52 120 146 38 28 7 69 105 67 37 35 7 68 79 56 38 39 5 65 65 107 33 34 5 75 70 58 36 38 4 74 55 34 38 32 5 75 39 61 32 38 4 72 67 119 32 30 5 67 21 42 32 33 5 63 127 66 34 38 7 62 152 89 32 32 5 63 113 44 37 32 5 76 99 66 39 34 6 74 7 24 29 34 4 67 141 259 37 36 6 73 21 17 35 34 6 70 35 64 30 28 5 53 109 41 38 34 7 77 133 68 34 35 6 77 123 168 31 35 8 52 26 43 34 31 7 54 230 132 35 37 5 80 166 105 36 35 6 66 68 71 30 27 6 73 147 112 39 40 5 63 179 94 35 37 5 69 61 82 38 36 5 67 101 70 31 38 5 54 108 57 34 39 4 81 90 53 38 41 6 69 114 103 34 27 6 84 103 121 39 30 6 80 142 62 37 37 6 70 79 52 34 31 7 69 88 52 28 31 5 77 25 32 37 27 7 54 83 62 33 36 6 79 113 45 37 38 5 30 118 46 35 37 5 71 110 63 37 33 4 73 129 75 32 34 8 72 51 88 33 31 8 77 93 46 38 39 5 75 76 53 33 34 5 69 49 37 29 32 6 54 118 90 33 33 4 70 38 63 31 36 5 73 141 78 36 32 5 54 58 25 35 41 5 77 27 45 32 28 5 82 91 46 29 30 6 80 48 41 39 36 6 80 63 144 37 35 5 69 56 82 35 31 6 78 144 91 37 34 5 81 73 71 32 36 7 76 168 63 38 36 5 76 64 53 37 35 6 73 97 62 36 37 6 85 117 63 32 28 6 66 100 32 33 39 4 79 149 39 40 32 5 68 187 62 38 35 5 76 127 117 41 39 7 71 37 34 36 35 6 54 245 92 43 42 9 46 87 93 30 34 6 82 177 54 31 33 6 74 49 144 32 41 5 88 49 14 32 33 6 38 73 61 37 34 5 76 177 109 37 32 8 86 94 38 33 40 7 54 117 73 34 40 5 70 60 75 33 35 7 69 55 50 38 36 6 90 39 61 33 37 6 54 64 55 31 27 9 76 26 77 38 39 7 89 64 75 37 38 6 76 58 72 33 31 5 73 95 50 31 33 5 79 25 32 39 32 6 90 26 53 44 39 6 74 76 42 33 36 7 81 129 71 35 33 5 72 11 10 32 33 5 71 2 35 28 32 5 66 101 65 40 37 6 77 28 25 27 30 4 65 36 66 37 38 5 74 89 41 32 29 7 82 193 86 28 22 5 54 4 16 34 35 7 63 84 42 30 35 7 54 23 19 35 34 6 64 39 19 31 35 5 69 14 45 32 34 8 54 78 65 30 34 5 84 14 35 30 35 5 86 101 95 31 23 5 77 82 49 40 31 6 89 24 37 32 27 4 76 36 64 36 36 5 60 75 38 32 31 5 75 16 34 35 32 7 73 55 32 38 39 6 85 131 65 42 37 7 79 131 52 34 38 10 71 39 62 35 39 6 72 144 65 35 34 8 69 139 83 33 31 4 78 211 95 36 32 5 54 78 29 32 37 6 69 50 18 33 36 7 81 39 33 34 32 7 84 90 247 32 35 6 84 166 139 34 36 6 69 12 29
Names of X columns:
Connected Separate age beloning totblogs Login
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