Импутация Knn с использованием пакета каретки вызывает отрицательные значения в данных - PullRequest
0 голосов
/ 04 сентября 2018

enter image description here Я пытался сделать вменение KNN для некоторых пропущенных значений в R, но оно вызывало отрицательные значения в столбцах, где вообще не должно быть отрицательных значений, таких как age. ( У возраста есть пропущенные значения, но я не хочу, чтобы его вменяли отрицательные значения).

Вот мой код:

#KNN Imputation:
preProcess_missingdata_model <- preProcess(train, method='knnImpute')
preProcess_missingdata_model

# Use the imputation model to predict the values of missing data points
library(RANN)  # required for knnImpute
train <- predict(preProcess_missingdata_model, newdata = train) 

Что я должен сделать, чтобы преодолеть эти отрицательные значения, вызванные? Любые предложения будут высоко оценены. Спасибо.

1 Ответ

0 голосов
/ 04 сентября 2018

Вы можете прямо указать preProcessing, какие столбцы вы хотели бы вписать. Это можно сделать следующим образом:

preProcess_missingdata_model <- preProcess(train[,c('Embarked', 'Sex')], method='knnImpute')

Вы даже можете указать конкретные строки, которые вы хотели бы вычислить, добавив список перед запятой.

...