iris_A <- iris
iris_A
str(iris_A)
'data.frame':   150 obs. of  5 variables:
 $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
 $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
 $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
 $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
 $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
summary(iris_A)
  Sepal.Length    Sepal.Width     Petal.Length    Petal.Width          Species  
 Min.   :4.300   Min.   :2.000   Min.   :1.000   Min.   :0.100   setosa    :50  
 1st Qu.:5.100   1st Qu.:2.800   1st Qu.:1.600   1st Qu.:0.300   versicolor:50  
 Median :5.800   Median :3.000   Median :4.350   Median :1.300   virginica :50  
 Mean   :5.843   Mean   :3.057   Mean   :3.758   Mean   :1.199                  
 3rd Qu.:6.400   3rd Qu.:3.300   3rd Qu.:5.100   3rd Qu.:1.800                  
 Max.   :7.900   Max.   :4.400   Max.   :6.900   Max.   :2.500                  
summary(iris_normal)
  Sepal.Length     Sepal.Width      Petal.Length     Petal.Width     
 Min.   :0.0000   Min.   :0.0000   Min.   :0.0000   Min.   :0.00000  
 1st Qu.:0.2222   1st Qu.:0.3333   1st Qu.:0.1017   1st Qu.:0.08333  
 Median :0.4167   Median :0.4167   Median :0.5678   Median :0.50000  
 Mean   :0.4287   Mean   :0.4406   Mean   :0.4675   Mean   :0.45806  
 3rd Qu.:0.5833   3rd Qu.:0.5417   3rd Qu.:0.6949   3rd Qu.:0.70833  
 Max.   :1.0000   Max.   :1.0000   Max.   :1.0000   Max.   :1.00000  
# Machine Train & Test

Train <- iris_normal[1:120,]
Test <- iris_normal[121:150,]
# Class
# install.packages("class")
library(class)
iris_knn <- knn(Train,Test,iris_A[1:120,5],k=7)
iris_knn
 [1] virginica  virginica  virginica  virginica  virginica  virginica  virginica 
 [8] versicolor virginica  versicolor virginica  virginica  virginica  versicolor
[15] versicolor virginica  virginica  virginica  versicolor virginica  virginica 
[22] virginica  virginica  virginica  virginica  virginica  virginica  virginica 
[29] virginica  versicolor
Levels: setosa versicolor virginica
library(ggplot2)
qplot(Sepal.Length,Petal.Length,data=iris_A,col=iris_A$Species)

qplot(Sepal.Width,Petal.Width,data=iris_A,col=iris_A$Species)

t <- table(iris_knn,iris_A[121:150,5])
t
            
iris_knn     setosa versicolor virginica
  setosa          0          0         0
  versicolor      0          0         6
  virginica       0          0        24
LS0tDQp0aXRsZTogIkstbm4gcHJvZ3JhbSINCmF1dGhvcjogIkRheWFuaWRoaSINCmRhdGU6ICIxMC8xMS8yMDE5Ig0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCg0KYGBge3J9DQppcmlzX0EgPC0gaXJpcw0KaXJpc19BDQpgYGANCg0KDQoNCmBgYHtyfQ0KaXJpc19BIDwtIGlyaXMNCnN0cihpcmlzX0EpDQpgYGANCmBgYHtyfQ0Kc3VtbWFyeShpcmlzX0EpDQpgYGANCmBgYHtyfQ0KIyBUaGlzIGZvcm11bGEgaXMgdXNlZCBmb3IgYWxsIG5vcm1hbGxpbmcgZGF0YSBwdXJwb3NlDQoNCmRhdGFfbm9ybWFsIDwtIGZ1bmN0aW9uKHgpeygoeC1taW4oeCkpLyhtYXgoeCktbWluKHgpKSl9DQppcmlzX25vcm1hbCA8LSBhcy5kYXRhLmZyYW1lKGxhcHBseShpcmlzX0FbLC01XSxkYXRhX25vcm1hbCkpDQppcmlzX25vcm1hbA0KDQpgYGANCmBgYHtyfQ0Kc3VtbWFyeShpcmlzX25vcm1hbCkNCmBgYA0KYGBge3J9DQojIE1hY2hpbmUgVHJhaW4gJiBUZXN0DQoNClRyYWluIDwtIGlyaXNfbm9ybWFsWzE6MTIwLF0NClRlc3QgPC0gaXJpc19ub3JtYWxbMTIxOjE1MCxdDQojIENsYXNzDQojIGluc3RhbGwucGFja2FnZXMoImNsYXNzIikNCmxpYnJhcnkoY2xhc3MpDQppcmlzX2tubiA8LSBrbm4oVHJhaW4sVGVzdCxpcmlzX0FbMToxMjAsNV0saz03KQ0KaXJpc19rbm4NCmBgYA0KYGBge3J9DQpsaWJyYXJ5KGdncGxvdDIpDQpxcGxvdChTZXBhbC5MZW5ndGgsUGV0YWwuTGVuZ3RoLGRhdGE9aXJpc19BLGNvbD1pcmlzX0EkU3BlY2llcykNCmBgYA0KDQpgYGB7cn0NCnFwbG90KFNlcGFsLldpZHRoLFBldGFsLldpZHRoLGRhdGE9aXJpc19BLGNvbD1pcmlzX0EkU3BlY2llcykNCmBgYA0KYGBge3J9DQp0IDwtIHRhYmxlKGlyaXNfa25uLGlyaXNfQVsxMjE6MTUwLDVdKQ0KdA0KYGBgDQoNCg==