Skip to content

Instantly share code, notes, and snippets.

@Demandrel
Last active May 9, 2018 15:04
Show Gist options
  • Save Demandrel/e0dd1a47f0dac2bcda3657a59561f9ea to your computer and use it in GitHub Desktop.
Save Demandrel/e0dd1a47f0dac2bcda3657a59561f9ea to your computer and use it in GitHub Desktop.
knn
library("caret")
library("mice")
library("kknn")
data = read.csv2("~/Desktop/data.csv", sep = ";", dec = ",")
data = data[, c(-1, -3)]
data[, 1] = as.factor(data[, 1])
class(data[,1])
class(data[,2])
data$DEFAULT = make.names(data$DEFAULT)
data[,1] = as.factor(data[,1])
data[,1] = relevel(data[,1],"X1")
zero_var_index = nearZeroVar(data)
data = data[-zero_var_index]
md.pattern(data)
index_train = createDataPartition(data$DEFAULT, p = 0.70, list = FALSE)
training_set = data[index_train,]
testing_set = data[-index_train,]
preprocessParams = preProcess(training_set[,-1], method = c("center", "scale"))
training_set_normalised = predict(preprocessParams, training_set[, -1])
testing_set_normalised = predict(preprocessParams, testing_set[, -1])
training_set_normalised$DEFAULT = training_set[,1]
testing_set_normalised$DEFAULT = testing_set[,1]
training_set = training_set_normalised
testing_set = testing_set_normalised
train_control = trainControl( method ="cv",
number = 10,
classProbs = TRUE,
summaryFunction = twoClassSummary)
knn_model = train(DEFAULT~.,
data = training_set,
trControl = train_control,
method = "kknn",
metric = "Sens")
prediction = predict(knn_model, testing_set)
conf_matrix = confusionMatrix(prediction, testing_set$DEFAULT)
print(conf_matrix)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment