Q6.

#a library(ISLR) library(boot) set.seed(1) degree = 10 cv.errs = rep(NA, degree) for (i in 1:degree) { fit = glm(wage ~ poly(age, i), data = Wage) cv.errs[i] = cv.glm(Wage, fit)\(delta[1] } plot(1:degree, cv.errs, xlab = 'Degree', ylab = 'Test MSE', type = 'l') deg.min = which.min(cv.errs) points(deg.min, cv.errs[deg.min], col = 'red', cex = 2, pch = 19) plot(wage ~ age, data = Wage, col = "darkgrey") age.range = range(Wage\)age) age.grid = seq(from = age.range[1], to = age.range[2]) fit = lm(wage ~ poly(age, 3), data = Wage) preds = predict(fit, newdata = list(age = age.grid)) lines(age.grid, preds, col = “red”, lwd = 2) #b plot(wage ~ age, data = Wage, col = “darkgrey”) age.range = range(Wage$age) age.grid = seq(from = age.range[1], to = age.range[2])

fit = lm(wage ~ poly(age, 3), data = Wage) preds = predict(fit, newdata = list(age = age.grid)) lines(age.grid, preds, col = “red”, lwd = 2) plot(wage ~ age, data = Wage, col = “darkgrey”)

fit = glm(wage ~ cut(age, 8), data = Wage) preds = predict(fit, list(age = age.grid)) lines(age.grid, preds, col = “red”, lwd = 2)

res = cut(c(1,5,2,3,8), 2) res

length(res)

class(res[1])

#Q10. #a library(ISLR) library(leaps) train <- sample(1: nrow(College), nrow(College)/2) test <- -train fit <- regsubsets(Outstate ~ ., data = College, subset = train, method = ‘forward’) fit.summary <- summary(fit) fit.summary coef(fit, id = 6) #b gam.mod <- gam(Outstate ~ Private + s(Room.Board, 5) + s(Terminal, 5) + s(perc.alumni, 5) + s(Expend, 5) + s(Grad.Rate, 5), data = College, subset = train) par(mfrow = c(2,3)) plot(gam.mod, se = TRUE, col = ‘blue’) #c preds <- predict(gam.mod, College[test, ]) RSS <- sum((College[test, ]\(Outstate - preds)^2) # based on equation (3.16) TSS <- sum((College[test, ]\)Outstate - mean(College[test, ]$Outstate)) ^ 2) 1 - (RSS / TSS)
#d summary(gam.mod)