Я нахожусь в групповом проекте для класса, и один из людей в моей группе выполнил нормализацию, а также создал наборы тестов / поездов, чтобы у всех нас были одинаковые наборы для работы (мы все используем разные алгоритмы). Мне назначен запуск алгоритма 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