Send output to:
Browser Blue - Charts White
Browser Black/White
CSV
Data X:
2050 2650 13 7 1 0 1639 2080 2600 NA 4 1 0 1088 2150 2664 6 5 1 0 1193 2150 2921 3 6 1 0 1635 1999 2580 4 4 1 0 1732 1900 2580 4 4 1 0 1534 1800 2774 2 4 1 0 1765 1560 1920 1 5 1 0 1161 1450 2150 NA 4 1 0 NA 1449 1710 1 3 1 0 1010 1375 1837 4 5 1 0 1191 1270 1880 8 6 1 0 930 1250 2150 15 3 1 0 984 1235 1894 14 5 1 0 1112 1170 1928 18 8 1 0 600 1180 1830 NA 3 1 0 733 1155 1767 16 4 1 0 794 1110 1630 15 3 1 1 867 1139 1680 17 4 1 1 750 995 1725 NA 3 1 0 923 995 1500 15 4 1 0 743 975 1430 NA 3 1 0 752 975 1360 NA 4 1 0 696 900 1400 16 2 1 1 731 960 1573 17 6 1 0 768 860 1385 NA 2 1 0 653 1695 2931 28 3 1 1 1142 1553 2200 28 4 1 0 1035 1250 2277 NA 4 1 0 NA 1300 2000 NA 3 1 0 1076 1020 1478 53 3 1 1 626 1020 1713 30 4 1 1 600 922 1326 NA 4 1 0 668 925 1050 NA 2 1 1 553 899 1464 NA 2 1 0 566 850 1190 41 1 1 0 600 876 1156 NA 1 1 0 NA 890 1746 NA 2 1 0 591 870 1280 NA 1 1 0 599 700 1215 NA 3 1 0 477 720 1121 46 4 1 0 398 720 1050 NA 1 1 0 NA 749 1733 43 6 1 0 656 731 1299 NA 6 1 0 585 725 1140 NA 3 1 1 490 670 1181 NA 4 1 0 440 2150 2848 4 6 1 0 1487 1599 2440 NA 5 1 0 1265 1350 2253 23 4 1 0 939 1299 2743 25 5 1 1 1232 1250 2180 17 4 1 1 1141 1239 1706 14 4 1 0 810 1200 1948 NA 4 1 0 899 1125 1710 16 4 1 0 800 1100 1657 NA 4 1 0 865 1080 2200 26 4 1 0 1076 1050 1680 13 4 1 0 875 1049 1900 34 3 1 0 690 955 1565 NA 3 1 0 648 934 1543 20 3 1 0 820 875 1173 6 4 1 0 456 889 1549 NA 4 1 0 723 855 1900 NA 3 1 0 780 835 1560 NA 5 1 1 638 810 1365 NA 2 1 0 673 805 1258 7 4 1 1 821 799 1314 NA 2 1 0 671 750 1338 NA 3 1 1 649 759 997 4 4 1 0 461 755 1275 NA 5 1 0 NA 750 1030 NA 1 1 0 486 730 1027 NA 3 1 0 427 729 1007 19 6 1 0 513 710 1083 22 4 1 0 504 773 1320 NA 5 1 0 NA 690 1348 15 2 1 0 NA 670 1350 NA 2 1 0 622 619 837 NA 2 1 0 342 1295 3750 NA 4 0 1 1200 975 1500 7 3 0 1 700 939 1428 40 2 0 0 701 820 1375 NA 1 0 0 585 780 1080 NA 3 0 0 600 770 900 NA 3 0 0 391 700 1505 NA 2 0 1 591 620 1480 NA 4 0 0 NA 540 1142 NA 0 0 0 223 1070 1464 NA 2 0 0 376 2100 2116 25 3 0 0 1209 725 1280 NA 3 0 0 447 660 1159 NA 0 0 0 225 600 1198 NA 4 0 0 NA 580 1051 15 2 0 0 426 1844 2250 40 6 0 0 915 1580 2563 NA 2 0 0 1189 699 1400 45 1 0 1 481 1330 1850 5 5 0 1 NA 1160 1720 5 4 0 0 867 1109 1740 4 3 0 0 816 1129 1700 6 4 0 0 725 1050 1620 6 4 0 0 800 1045 1630 6 4 0 0 750 1050 1920 8 4 0 0 944 1020 1606 5 4 0 0 811 1000 1535 7 5 0 1 668 1030 1540 6 2 0 1 826 975 1739 13 3 0 0 880 950 1715 NA 3 0 0 900 940 1305 5 3 0 0 647 920 1415 7 4 0 0 866 945 1580 9 3 0 0 810 874 1236 3 4 0 0 707 872 1229 6 3 0 0 721 870 1273 4 4 0 0 638 869 1165 7 4 0 0 694 766 1200 7 4 0 1 634 739 970 4 4 0 1 541
Names of X columns:
PRICE SQFT AGE FEATS NE COR TAX
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
2 seconds
R Server
Big Analytics Cloud Computing Center
Click here to blog (archive) this computation