#Homework 7 Chay Bagan October 7th 2022

#install.packages("reshape")
#install.packages("e1071")
#install.packages("caret")
library(reshape)
library(e1071)
library(caret)

#A
bank.df = read.csv("UniversalBank.csv", header = TRUE)

mlt = melt(bank.df, id=c("Personal.Loan","CreditCard"), measure=c("Online"))
cast(mlt, CreditCard + Personal.Loan ~ value,subset=variable=="Online")

#B
#882 customers have a Credit Card and use Online Banking
#Out of those 882 only 82 that owned a credit card and used online banking accepted a personal loan
#So you can do 82/882 = ~0.0923 which tells us the customer has a ~9.23% of accepting the loan offer given the prior

#C
mlt = melt(bank.df, id=c("Personal.Loan"), measure=c("Online"))
cast(mlt, Personal.Loan ~ value,subset=variable=="Online")

mlt = melt(bank.df, id=c("Personal.Loan"), measure=c("CreditCard"))
cast(mlt, Personal.Loan ~ value,subset=variable=="CreditCard")

#D
#i    143/(337+143)= ~29.8%
#ii   291/(189+291)= ~60.6`%
#iii  480/5000= 9.6%
#iv   1327/(3193+1327)= ~29.4%
#v    2693/(1827+2693)= ~59.6%
#vi   4520/5000= 90.4%

#E
bank.nb = naiveBayes(Personal.Loan ~ CreditCard + Online, data = bank.df, laplace = 1 ) 
bank.nb

bank.model = predict(bank.nb, bank.df, type="class")

cm = table(bank.model, bank.df$Personal.Loan, dnn=c("Prediction","Actual"))
cm

plot(cm)
confusionMatrix(cm)
#F
#The answer in part B is a more accurate estimate

#G
#Personal.Loan, Online and CreditCard are the 3 variables needed for computing







