# STA 414/2104, Spring 2006, Assignment #1, Test script. # # R. M. Neal source("ass1.r") # Read the data. x.train <- as.matrix(read.table("a1-x-train",head=F)) x.test <- as.matrix(read.table("a1-x-test",head=F)) y.train <- scan("a1-y-train") y.test <- scan("a1-y-test") # Set the values of k to look at. kvec <- 3^(0:4) # Function to compute average squred error of predictions on the test set. sq.err <- function (pred) mean((pred-y.test)^2) # Run the various functions. pred.knn <- knn (kvec,x.train,y.train,x.test) cv <- knncv(kvec,x.train,y.train) pred.knnsel <- knnsel(kvec,x.train,y.train,x.test) pred.knncombo <- knncombo(kvec,x.train,y.train,x.test) # Display results on first ten test/training cases. cat("\nknn:\n") print(pred.knn[1:10]) cat("\nknncv:\n") print(cv[1:10,]) cat("\nknnsel:\n") print(pred.knnsel$results[1:10]) cat("\nknncombo:\n") print(pred.knncombo$results[1:10]) # Display summary of squared error. cat("\nAverage squared errors on test set:\n") print (apply( cbind (pred.knn, knnsel=pred.knnsel$results, knncombo=pred.knncombo$results), 2, sq.err)) # Print extra stuff. cat("\nknnsel$cv.sq.err:\n") print(pred.knnsel$cv.sq.err) cat("\nknnsel$k:\n") print(pred.knnsel$k) cat("\nknncombo$beta:\n") print(pred.knncombo$beta)