-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathKNN.R
More file actions
50 lines (32 loc) · 1.11 KB
/
KNN.R
File metadata and controls
50 lines (32 loc) · 1.11 KB
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
NBA = read.csv("Team.csv")
#Made sure our allstars were a categorical variable
#data preprocessing/ lessons learned
NBA$All.star = as.factor(NBA$All.star)
#Removed Categorical Variables
NBA = NBA[,-(1:3)]
NBA = NBA[, -2]
NBA = NBA[,-3]
#Trained data by removing 2017 data from training set
Score = NBA[(9610:10204),]
NBA = NBA[-(9610:10204),]
Index = 1:9610
Index_2016 = (9045:9609)
Index_2015 = (8380:9044)
Index_2014 = (7770:8379)
training = NBA[-Index_2016,]
validation = NBA[Index_2016,]
str(NBA)
#KNN Model with n = 5, tested for other KNN's and 5 gave the highest accuracy
library("DMwR")
nearest3 = kNN(All.star~ training$ws + training$PTS + training$USG + training$PER + training$OWS,training,validation,norm=TRUE,k=3)
accr_3 = sum(validation[,1]==nearest3)/nrow(validation)
accr_3
table(validation[,1],nearest3)
############################### KNN with all models
nearest3_all = kNN(All.star~.,training,validation,norm=TRUE,k=3)
accr_3_all = sum(validation[,1]==nearest5_all)/nrow(validation)
table(validation[,1],nearest3_all)
#for (i in 1:nrow(NBA))
#{if (NBA$GS[i] > 70)
# {NBA$GS[i] = 'Starter'
#}}