Data <- read.csv("C:\\Users\\Harisha\\Desktop\\Datascience Assignments\\KNN\\glass.csv")
View(Data)
table(Data$Type)
##
## 1 2 3 5 6 7
## 70 76 17 13 9 29
Data$Type <- factor(Data$Type,levels = c("1","2","3","5","6","7"),labels = c("LowModel","LowModel","HighModel","HighModel","HighModel","HighModel"))
summary(Data[c( "RI","Na","Mg","Al","Si","K","Ca","Ba","Fe")])
## RI Na Mg Al
## Min. :1.511 Min. :10.73 Min. :0.000 Min. :0.290
## 1st Qu.:1.517 1st Qu.:12.91 1st Qu.:2.115 1st Qu.:1.190
## Median :1.518 Median :13.30 Median :3.480 Median :1.360
## Mean :1.518 Mean :13.41 Mean :2.685 Mean :1.445
## 3rd Qu.:1.519 3rd Qu.:13.82 3rd Qu.:3.600 3rd Qu.:1.630
## Max. :1.534 Max. :17.38 Max. :4.490 Max. :3.500
## Si K Ca Ba
## Min. :69.81 Min. :0.0000 Min. : 5.430 Min. :0.000
## 1st Qu.:72.28 1st Qu.:0.1225 1st Qu.: 8.240 1st Qu.:0.000
## Median :72.79 Median :0.5550 Median : 8.600 Median :0.000
## Mean :72.65 Mean :0.4971 Mean : 8.957 Mean :0.175
## 3rd Qu.:73.09 3rd Qu.:0.6100 3rd Qu.: 9.172 3rd Qu.:0.000
## Max. :75.41 Max. :6.2100 Max. :16.190 Max. :3.150
## Fe
## Min. :0.00000
## 1st Qu.:0.00000
## Median :0.00000
## Mean :0.05701
## 3rd Qu.:0.10000
## Max. :0.51000
norm <- function(x){
return((x-min(x))/(max(x)-min(x)))
}
Data_n <- as.data.frame(lapply(Data[1:9],norm))
Data_train <- Data_n[1:174,]
Data_test <- Data_n[175:214,]
Data_train_labels <- Data[1:174,10]
Data_test_lables <- Data[175:214,10]
library("class")
Data_pred <- knn(train = Data_train,test = Data_test,cl = Data_train_labels,k=16)
y <- as.data.frame(Data_pred)
y <- cbind(y,Data_test_lables)
library("gmodels")
CrossTable( x= Data_test_lables,y = Data_pred)
##
##
## Cell Contents
## |-------------------------|
## | N |
## | N / Table Total |
## |-------------------------|
##
##
## Total Observations in Table: 40
##
##
## | Data_pred
## Data_test_lables | LowModel | HighModel | Row Total |
## -----------------|-----------|-----------|-----------|
## HighModel | 36 | 4 | 40 |
## | 0.900 | 0.100 | |
## -----------------|-----------|-----------|-----------|
## Column Total | 36 | 4 | 40 |
## -----------------|-----------|-----------|-----------|
##
##