Ошибка R Studio и RGUi столкнулись с фатальной ошибкой - Crashed. Прогнозирующее моделирование для категориально большого набора данных

Я работаю над набором данных, который имеет 21 атрибут. 16 являются категориальными, 3 являются порядковыми факторами и 2 являются датой / временем (целевая переменная). Количество рядов составляет 14512.

Чего я хочу достичь: этот набор данных в основном касается ежедневных офисных инцидентов, закрытых разными командами, и мы пытаемся предсказать время, которое потребуется в случае определенных переменных-предикторов.

Я использую R-Studio для анализа.

Проделанная работа: поэтому я решил использовать Knn для вычислений и преобразовал все предикторы в двоичные фиктивные переменные и целевую переменную в классы A, B,C.

Проблема: теперь, когда я применяю пример функции knn:

RPS_test_pred <- knn(train = RPS_train, test = RPS_test,cl = RPS_train_labels, k=1121)

оставляя k равным 1121(так как у нас есть 14513 строк в наборе данных, также данные обучения и теста делятся на соотношение 70:30)

R studio вылетает и закрывается, заявляя - произошла фатальная ошибка.

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

1 ответ

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

Порядковые переменные Я бы начал с того, чтобы рекомендовать изменить ваши порядковые переменные на числовые значения в зависимости от их относительного порядка:

train$Exter.Quality[train$ExterQual == "Excellent"] <- 4
train$Exter.Quality[train$ExterQual == "Good"] <- 3
train$Exter.Quality[train$ExterQual == "Nominal"] <- 2
train$Exter.Quality[train$ExterQual == "Fair"] <- 1

Категориальные переменные Работал, чтобы использовать групповые рейтинги, основанные на среднем значении переменной ответа, которую вы просматриваете (Продажная цена в моем случае):

nbhdprice <- summarize(group_by(train, Neighborhood),
          mean(SalePrice, na.rm=T))


nbhdprice_lo <- filter(nbhdprice, nbhdprice$`mean(SalePrice, na.rm = T)` < 140000)
nbhdprice_med <- filter(nbhdprice, nbhdprice$`mean(SalePrice, na.rm = T)` < 200000 &
                          nbhdprice$`mean(SalePrice, na.rm = T)` >= 140000 )
nbhdprice_hi <- filter(nbhdprice, nbhdprice$`mean(SalePrice, na.rm = T)` >= 200000)

train$nbhd_price_level[train$Neighborhood %in% nbhdprice_lo$Neighborhood] <- 1
train$nbhd_price_level[train$Neighborhood %in% nbhdprice_med$Neighborhood] <- 2
train$nbhd_price_level[train$Neighborhood %in% nbhdprice_hi$Neighborhood] <- 3

Дополнительные примеры можно найти в пространстве кода здесь: https://www.kaggle.com/skirmer/fun-with-real-estate-data/code

Другие вопросы по тегам