1k∑i∈Nx,kI(yi=Default)
class
package.class
package.class
package.load('knnexample.RData')
train_x
)train_x
)train_y
)train_x
)train_y
)test_x
)train_x
)train_y
)test_x
)test_y
)train_x_std<-scale(train_x)mean_train_x<-attr(train_x_std,"scaled:center")std_train_x<-attr(train_x_std,"scaled:scale")
test_x_std<-scale(test_x, center = mean_train_x, scale = std_train_x)
knn
functionWith k=1
knn(train_x_std,test_x_std, train_y,k=1)->yhat_k1print(yhat_k1)
## [1] No Default Default Default Default No Default No Default## [7] No Default No Default No Default Default No Default No Default## [13] No Default No Default No Default Default No Default No Default## [19] No Default No Default Default No Default Default Default ## [25] No Default No Default Default No Default Default No Default## [31] Default No Default No Default No Default No Default No Default## [37] Default No Default No Default Default Default No Default## [43] No Default No Default No Default No Default Default No Default## [49] No Default No Default Default No Default No Default No Default## [55] No Default No Default No Default Default No Default No Default## [61] Default No Default No Default Default No Default No Default## [67] Default Default No Default No Default No Default No Default## [73] No Default No Default No Default Default No Default No Default## [79] No Default No Default No Default No Default No Default No Default## [85] Default No Default No Default No Default No Default No Default## [91] No Default No Default No Default No Default Default No Default## [97] No Default No Default No Default No Default No Default No Default## [103] No Default No Default No Default No Default Default No Default## [109] No Default Default No Default No Default No Default Default ## [115] No Default No Default No Default No Default No Default No Default## [121] No Default No Default Default No Default Default No Default## [127] No Default Default No Default No Default No Default No Default## [133] No Default No Default No Default No Default No Default No Default## [139] No Default No Default Default No Default Default No Default## [145] Default No Default No Default No Default No Default No Default## [151] No Default No Default No Default Default No Default Default ## [157] No Default No Default No Default No Default No Default Default ## [163] No Default No Default No Default No Default No Default No Default## [169] No Default No Default No Default No Default No Default No Default## [175] No Default No Default No Default Default Default No Default## [181] No Default No Default No Default Default No Default No Default## [187] No Default No Default Default No Default Default No Default## [193] Default No Default No Default No Default No Default No Default## [199] Default No Default No Default Default Default No Default## [205] No Default No Default No Default No Default Default No Default## [211] No Default No Default No Default No Default Default No Default## [217] No Default No Default No Default Default No Default No Default## [223] No Default Default No Default No Default No Default No Default## [229] No Default No Default No Default No Default No Default No Default## [235] No Default No Default No Default No Default No Default No Default## [241] Default No Default No Default Default No Default Default ## [247] No Default No Default No Default No Default## Levels: Default No Default
To compute test misclassification
miscl_k1<-mean(test_y!=yhat_k1)print(miscl_k1)
## [1] 0.32
Overall, 32% of the test sample is incorrectly predicted
To compute test misclassification
miscl_k1<-mean(test_y!=yhat_k1)print(miscl_k1)
## [1] 0.32
Overall, 32% of the test sample is incorrectly predicted
knn(train_x_std, test_x_std, train_y,k=5)->yhat_k5miscl_k5<-mean(test_y!=yhat_k5)print(miscl_k5)
## [1] 0.292
The misclassification rate when k=5 is 0.292.
table(test_y,yhat_k5)
## yhat_k5## test_y Default No Default## Default 8 52## No Default 21 169
Letting "default" be the "positive" class, sensitivity is 8/(8+52) or 0.133, and specificity is 169/(21+169) or 0.889
prob=TRUE
is included then the function returns probabilities.knn(train_x_std, test_x_std, train_y,k=5,prob = TRUE)->prob_k5
print(prob_k5)
## [1] No Default Default No Default No Default Default No Default## [7] No Default No Default No Default Default No Default No Default## [13] No Default No Default No Default No Default No Default No Default## [19] No Default No Default Default No Default No Default No Default## [25] No Default No Default No Default No Default Default No Default## [31] No Default No Default No Default Default Default No Default## [37] No Default No Default No Default No Default No Default No Default## [43] No Default No Default No Default No Default No Default No Default## [49] No Default No Default No Default Default Default No Default## [55] No Default Default Default Default No Default Default ## [61] Default No Default Default Default No Default No Default## [67] No Default No Default No Default No Default No Default No Default## [73] No Default No Default No Default No Default No Default No Default## [79] No Default No Default No Default No Default No Default No Default## [85] No Default No Default No Default No Default No Default No Default## [91] No Default No Default No Default No Default Default No Default## [97] No Default No Default No Default No Default No Default No Default## [103] No Default Default No Default Default No Default No Default## [109] No Default No Default No Default No Default No Default No Default## [115] No Default No Default No Default Default No Default No Default## [121] No Default No Default No Default No Default No Default No Default## [127] No Default Default No Default No Default No Default No Default## [133] No Default No Default No Default No Default No Default No Default## [139] No Default No Default No Default Default No Default No Default## [145] No Default No Default No Default No Default No Default No Default## [151] No Default No Default No Default No Default No Default No Default## [157] No Default No Default No Default No Default No Default No Default## [163] No Default No Default Default No Default No Default No Default## [169] No Default No Default No Default No Default No Default No Default## [175] Default No Default No Default No Default Default No Default## [181] No Default No Default No Default No Default No Default No Default## [187] No Default No Default No Default No Default No Default No Default## [193] No Default No Default No Default No Default No Default No Default## [199] No Default No Default No Default No Default Default No Default## [205] No Default No Default No Default No Default No Default No Default## [211] No Default No Default No Default No Default No Default No Default## [217] No Default No Default No Default No Default No Default No Default## [223] No Default No Default No Default No Default No Default No Default## [229] No Default No Default No Default No Default No Default No Default## [235] No Default No Default Default No Default No Default No Default## [241] No Default No Default No Default Default No Default No Default## [247] No Default No Default No Default No Default## attr(,"prob")## [1] 1.0000000 0.5714286 0.6666667 0.6000000 0.6000000 0.8000000 1.0000000## [8] 1.0000000 0.6666667 0.6000000 0.8333333 0.8000000 1.0000000 0.5714286## [15] 1.0000000 0.6666667 1.0000000 1.0000000 0.6000000 1.0000000 0.6000000## [22] 0.8333333 0.6666667 0.6000000 1.0000000 1.0000000 0.5714286 1.0000000## [29] 0.6000000 0.5000000 0.6666667 0.8571429 1.0000000 0.6000000 0.6000000## [36] 0.8000000 0.6666667 0.6000000 0.6000000 0.5000000 0.6000000 0.6666667## [43] 0.6000000 0.6000000 0.8333333 1.0000000 0.6666667 0.8000000 1.0000000## [50] 1.0000000 0.8000000 0.6000000 0.6000000 1.0000000 1.0000000 0.6000000## [57] 0.6666667 0.8000000 1.0000000 0.6000000 0.8000000 1.0000000 0.6000000## [64] 0.6000000 0.6666667 0.8000000 0.5714286 0.5714286 1.0000000 1.0000000## [71] 0.6666667 0.6000000 1.0000000 0.6666667 0.8000000 0.8000000 1.0000000## [78] 0.8000000 0.8000000 1.0000000 0.6666667 0.6000000 1.0000000 0.8000000## [85] 0.5714286 1.0000000 0.8000000 0.6666667 1.0000000 0.8750000 1.0000000## [92] 1.0000000 0.8000000 0.7142857 0.6000000 0.7142857 1.0000000 0.8571429## [99] 0.8000000 0.8000000 0.8333333 0.8000000 0.5714286 0.6000000 0.8333333## [106] 0.6000000 0.8000000 1.0000000 1.0000000 0.6666667 1.0000000 1.0000000## [113] 1.0000000 0.6000000 0.8750000 0.6000000 1.0000000 0.6666667 1.0000000## [120] 1.0000000 0.6000000 0.8333333 0.5000000 0.6000000 0.6000000 0.6666667## [127] 1.0000000 0.6000000 0.7142857 1.0000000 0.8000000 0.8333333 1.0000000## [134] 0.6000000 0.7142857 1.0000000 0.6000000 0.8000000 0.6666667 0.7142857## [141] 0.6000000 0.6666667 0.8000000 0.8000000 0.8000000 1.0000000 1.0000000## [148] 1.0000000 0.8000000 1.0000000 0.8750000 1.0000000 1.0000000 0.6000000## [155] 1.0000000 0.8000000 0.6666667 1.0000000 0.5714286 0.8000000 0.6000000## [162] 0.6000000 1.0000000 0.6000000 0.6000000 0.8000000 1.0000000 1.0000000## [169] 1.0000000 0.5714286 1.0000000 0.5000000 0.8000000 0.7142857 0.6000000## [176] 0.6666667 1.0000000 0.8750000 0.6666667 1.0000000 1.0000000 0.8000000## [183] 0.8000000 0.6666667 0.6000000 0.8000000 0.8000000 0.8000000 0.6000000## [190] 0.8000000 0.8000000 0.8333333 0.8000000 0.6000000 1.0000000 0.6666667## [197] 0.8000000 0.8000000 0.8750000 0.8333333 0.7142857 0.7500000 0.6000000## [204] 1.0000000 1.0000000 1.0000000 0.8000000 1.0000000 0.8000000 1.0000000## [211] 0.7142857 1.0000000 1.0000000 0.6666667 0.6000000 1.0000000 1.0000000## [218] 0.8000000 0.8333333 0.6666667 1.0000000 0.7500000 0.8000000 0.5714286## [225] 0.8000000 1.0000000 0.8000000 1.0000000 0.8000000 1.0000000 1.0000000## [232] 1.0000000 1.0000000 0.8333333 0.6000000 1.0000000 0.6000000 0.8000000## [239] 1.0000000 0.6000000 0.8000000 1.0000000 1.0000000 0.6000000 0.8333333## [246] 0.6666667 1.0000000 0.8000000 0.8000000 1.0000000## Levels: Default No Default
attr
function print(attr(prob_k5,"prob"))
## [1] 1.0000000 0.5714286 0.6666667 0.6000000 0.6000000 0.8000000 1.0000000## [8] 1.0000000 0.6666667 0.6000000 0.8333333 0.8000000 1.0000000 0.5714286## [15] 1.0000000 0.6666667 1.0000000 1.0000000 0.6000000 1.0000000 0.6000000## [22] 0.8333333 0.6666667 0.6000000 1.0000000 1.0000000 0.5714286 1.0000000## [29] 0.6000000 0.5000000 0.6666667 0.8571429 1.0000000 0.6000000 0.6000000## [36] 0.8000000 0.6666667 0.6000000 0.6000000 0.5000000 0.6000000 0.6666667## [43] 0.6000000 0.6000000 0.8333333 1.0000000 0.6666667 0.8000000 1.0000000## [50] 1.0000000 0.8000000 0.6000000 0.6000000 1.0000000 1.0000000 0.6000000## [57] 0.6666667 0.8000000 1.0000000 0.6000000 0.8000000 1.0000000 0.6000000## [64] 0.6000000 0.6666667 0.8000000 0.5714286 0.5714286 1.0000000 1.0000000## [71] 0.6666667 0.6000000 1.0000000 0.6666667 0.8000000 0.8000000 1.0000000## [78] 0.8000000 0.8000000 1.0000000 0.6666667 0.6000000 1.0000000 0.8000000## [85] 0.5714286 1.0000000 0.8000000 0.6666667 1.0000000 0.8750000 1.0000000## [92] 1.0000000 0.8000000 0.7142857 0.6000000 0.7142857 1.0000000 0.8571429## [99] 0.8000000 0.8000000 0.8333333 0.8000000 0.5714286 0.6000000 0.8333333## [106] 0.6000000 0.8000000 1.0000000 1.0000000 0.6666667 1.0000000 1.0000000## [113] 1.0000000 0.6000000 0.8750000 0.6000000 1.0000000 0.6666667 1.0000000## [120] 1.0000000 0.6000000 0.8333333 0.5000000 0.6000000 0.6000000 0.6666667## [127] 1.0000000 0.6000000 0.7142857 1.0000000 0.8000000 0.8333333 1.0000000## [134] 0.6000000 0.7142857 1.0000000 0.6000000 0.8000000 0.6666667 0.7142857## [141] 0.6000000 0.6666667 0.8000000 0.8000000 0.8000000 1.0000000 1.0000000## [148] 1.0000000 0.8000000 1.0000000 0.8750000 1.0000000 1.0000000 0.6000000## [155] 1.0000000 0.8000000 0.6666667 1.0000000 0.5714286 0.8000000 0.6000000## [162] 0.6000000 1.0000000 0.6000000 0.6000000 0.8000000 1.0000000 1.0000000## [169] 1.0000000 0.5714286 1.0000000 0.5000000 0.8000000 0.7142857 0.6000000## [176] 0.6666667 1.0000000 0.8750000 0.6666667 1.0000000 1.0000000 0.8000000## [183] 0.8000000 0.6666667 0.6000000 0.8000000 0.8000000 0.8000000 0.6000000## [190] 0.8000000 0.8000000 0.8333333 0.8000000 0.6000000 1.0000000 0.6666667## [197] 0.8000000 0.8000000 0.8750000 0.8333333 0.7142857 0.7500000 0.6000000## [204] 1.0000000 1.0000000 1.0000000 0.8000000 1.0000000 0.8000000 1.0000000## [211] 0.7142857 1.0000000 1.0000000 0.6666667 0.6000000 1.0000000 1.0000000## [218] 0.8000000 0.8333333 0.6666667 1.0000000 0.7500000 0.8000000 0.5714286## [225] 0.8000000 1.0000000 0.8000000 1.0000000 0.8000000 1.0000000 1.0000000## [232] 1.0000000 1.0000000 0.8333333 0.6000000 1.0000000 0.6000000 0.8000000## [239] 1.0000000 0.6000000 0.8000000 1.0000000 1.0000000 0.6000000 0.8333333## [246] 0.6666667 1.0000000 0.8000000 0.8000000 1.0000000
Prediction | Probability |
---|---|
No Default | 1.0000000 |
Default | 0.5714286 |
No Default | 0.6666667 |
No Default | 0.6000000 |
Prediction | Probability |
---|---|
No Default | 1.0000000 |
Default | 0.5714286 |
No Default | 0.6666667 |
No Default | 0.6000000 |
Keyboard shortcuts
↑, ←, Pg Up, k | Go to previous slide |
↓, →, Pg Dn, Space, j | Go to next slide |
Home | Go to first slide |
End | Go to last slide |
Number + Return | Go to specific slide |
b / m / f | Toggle blackout / mirrored / fullscreen mode |
c | Clone slideshow |
p | Toggle presenter mode |
t | Restart the presentation timer |
?, h | Toggle this help |
Esc | Back to slideshow |