Определить 2 оптимальных значения параметра K с помощью кросс-валидации (K∈{1,3,5,7,9,11,13,15}) и рассчитать для них величины ошибки классификации.
library(caret)
crossvalidation <- function(data)
{
indexes <- createDataPartition(data$fake,p=0.1,times=10,list=F)
for (k in seq(1,15,2))
{
err=c()
mean_err=c()
len=ncol(indexes)
for (i in 1:len)
{
tr_set=data[indexes[,i],]
val_set=data[-indexes[,i],]
err=append(err,error_cl(tr_set,val_set,k))
mean_err=mean(err)
}
cat("для k = ", k, " процент ошибок = ",mean_err,"% \n")
}
}
crossvalidation(sample)
## для k = 1 процент ошибок = 20.717 %
## для k = 3 процент ошибок = 17.178 %
## для k = 5 процент ошибок = 16.805 %
## для k = 7 процент ошибок = 16.262 %
## для k = 9 процент ошибок = 16.992 %
## для k = 11 процент ошибок = 17.191 %
## для k = 13 процент ошибок = 17.415 %
## для k = 15 процент ошибок = 17.624 %
Из полученных значений оптимальными можно считать К=5 и К=7