-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathknnmodel.R
33 lines (22 loc) · 855 Bytes
/
knnmodel.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
## K-Nearest Neighbors
library(ISLR)
library(MASS)
library(e1071)
?knn
attach(Smarket)
##
Xlag=cbind(Lag1,Lag2)
## training set
train= ...
## we should perform KNN on number of neighbours (k) = 1 first, more flexible fit giving low variance but high bias
knn.pred=knn(Xlag[train,],Xlag[!train,],Direction[train],k=1)
table(knn.pred,Direction[!train])
mean(knn.pred==Direction[!train])
## KNN on k = 9 which is a high k value, provides low flexibility (high variance) but low bias
knn.pred=knn(Xlag[train,],Xlag[!train,],Direction[train],k=9)
table(knn.pred,Direction[!train])
mean(knn.pred==Direction[!train])
## Depending on results of 1 and 9 we should run a k value in between to see if we get better results
knn.pred=knn(Xlag[train,],Xlag[!train,],Direction[train],k=9)
table(knn.pred,Direction[!train])
mean(knn.pred==Direction[!train])