KNN: «пропущенные значения не допускаются» -> у меня нет пропущенных значений - PullRequest
0 голосов
/ 27 апреля 2020

Я нахожусь в групповом проекте для класса, и один из людей в моей группе выполнил нормализацию, а также создал наборы тестов / поездов, чтобы у всех нас были одинаковые наборы для работы (мы все используем разные алгоритмы). Мне назначен запуск алгоритма KNN.

У нас было несколько столбцов с NA, поэтому эти столбцы были опущены (<-NULL). При попытке запустить KNN я получаю сообщение об ошибке

Error in knn(train = trainsetne, test = testsetne, cl = ne_train_target,  :
  no missing values are allowed

Я запустил which(is.na(dataset$col)) и обнаружил:

which(is.na(testsetne$median_days_on_market))
# [1] 8038 8097 8098 8100 8293 8304

Когда я просматриваю набор данных, эти ячейки не пропали данные.

Мне интересно, могу ли я получить некоторую помощь в том, как найти и исправить «Нет пропущенных значений» или найти обходной путь (если есть).

Извините если я упускаю что-то простое. Любая помощь приветствуется.

Я перечислил код, который у нас есть ниже:

ne$pending_ratio_yy <- ne$total_listing_count_yy <- ne$average_listing_price_yy <- ne$median_square_feet_yy <- ne$median_listing_price_per_square_feet_yy <- ne$pending_listing_count_yy <- ne$price_reduced_count_yy <- ne$median_days_on_market_yy <- ne$new_listing_count_yy <- ne$price_increased_count_yy <- ne$active_listing_count_yy <- ne$median_listing_price_yy <- ne$flag <- NULL

ne$pending_ratio_mm <- ne$total_listing_count_mm <- ne$average_listing_price_mm <- ne$median_square_feet_mm <- ne$median_listing_price_per_square_feet_mm <- ne$pending_listing_count_mm  <- ne$price_reduced_count_mm <- ne$price_increased_count_mm <- ne$new_listing_count_mm <- ne$median_days_on_market_mm <- ne$active_listing_count_mm <- ne$median_listing_price_mm <- NULL

ne$factor_month_date <- as.factor(ne$month_date_yyyymm)
ne$factor_median_days_on_market <- as.factor(ne$median_days_on_market)

train20ne= sample(1:20893, 4179)

trainsetne=ne[train20ne,1:10]
testsetne=ne[-train20ne,1:10]

#This is where I start to come in

ne_train_target <- ne[train20ne, 3]
ne_test_target <- ne[-train20ne, 3]

predict_1 <- knn(train = trainsetne, test = testsetne, cl=ne_train_target, k=145)
# Error in knn(train = trainsetne, test = testsetne, cl = ne_train_target,  : 
#  no missing values are allowed
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...