OdporúčameZaložiť web alebo e-shop

knn - k nearest neighbour classification

 

1.  example

 

#growth “g”

v1<-c(1,2,3)

v2<-v1+c(0.1,0.1,-0.1)

v3<-v1+c(0.1,-0.1,0.1)

v4<-v1+c(-0.1,0.1,0.1)

# decay “d”

v5<-c(3,2,1)

v6<-v5+c(0.1,0.1,-0.1)

v7<-v5+c(0.1,-0.1,0.1)

v8<-v5+c(-0.1,0.1,0.1)

train<-rbind(v1,v2,v3,v4,v5,v6,v7,v8)


cl<-c("g","g","g","g","d","d","d","d")


o1<-v1+c(0.05,0.05,0.1)       #  g

o2<-v1+c(-0.05,-0.1,0.1)       #  g

o3<-v1+c(0.05,-0.05,-0.1)    #  g

o4<-v1+c(-0.1,-0.1,0.1)         #   g

o5<-v5+c(0.2,0.1,-0.2)         #   d

o6<-v5+c(0.1,0.1,-0.3)          #  d

test<-rbind(o1,o2,o3,o4,o5,o6)


k1<-knn(train,test,cl,k=4,prob=TRUE)


attributes(.Last.value)


 

 

 

 

 

2. Example

 

               library(class)

    train <- rbind(iris3[1:25,,1], iris3[1:25,,2], iris3[1:25,,3])
    test <- rbind(iris3[26:50,,1], iris3[26:50,,2], iris3[26:50,,3])
    cl <- factor(c(rep("s",25), rep("c",25), rep("v",25)))   

    keep <- condense(train, cl)

                k1<-knn(train[keep, , drop=FALSE], test, cl[keep])
                keep2 <- reduce.nn(train, keep, cl)
                k2<-knn(train[keep2, , drop=FALSE], test, cl[keep2])

    attributes(.Last.value)