Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- library(ggplot2)
- library(caret)
- library(e1071)
- data <- read.csv("RidingMowers.csv")
- data1 <- subset(data, data$Ownership == "Owner")
- data2 <- subset(data, data$Ownership == "Nonowner")
- #A
- (dim(data1)[1] / dim(data)[1]) * 100
- summary(data$Ownership)
- #B
- ggplot(data = data, aes(x = data$Income, y = data$Lot_Size)) +
- geom_point(aes(col = factor(data$Ownership))) +
- theme_bw()
- logit.reg <- glm(Ownership ~ ., data = data[, 1:3], family = "binomial")
- summary(logit.reg)
- pred <- predict(logit.reg, data2, type = "response")
- valid.predict<-data.frame(actual = data2$Ownership, predicted = pred)
- pred_rate <- subset(valid.predict, valid.predict$predicted < 0.5)
- #C
- (dim(pred_rate)[1] / dim(data2)[1]) * 100
- confusionMatrix(as.factor(ifelse(valid.predict$predicted < 0.5, "Nonowner", "Owner")), data2$Ownership) #sensitivity
- #E, F
- new <- data.frame(Income = 60.0, Lot_Size = 20.0)
- pred <- predict(logit.reg, new, type = "response") #nonowner
- odds <- pred / (1 - pred)
- #G
- income_table <- data.frame(Income = seq(50,200,1), Probability = rep(0,151))
- for (i in seq(50,200,1)){
- new_row <- data.frame(Income = i, Lot_Size = 16)
- pred <- predict(logit.reg, new_row, type = "response")
- income_table[income_table$Income == i, 2 ] <- pred
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement