Ошибка при попытке создать сбалансированный набор поездов с SMOTE - PullRequest
0 голосов
/ 09 октября 2018

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

Ошибка в именах (dn) <- dnn: попытка установить атрибут в NULL. Дополнительно: Предупреждениесообщение: В именах (данных) == as.character (форма [[2]]): длинная длина объекта не кратна короткой длине объекта </p>

Я преобразовал все в множитель с помощью as.factor()и удалил АН:

train <- na.omit(train)



> str(train)
Classes ‘tbl_df’, ‘tbl’ and 'data.frame':   11526 obs. of  5 variables:
 $ number: Factor w/ 2 levels "problem",..: 2 2 2 2 2 2 2 2 2 2 ...
 $ Land: Factor w/ 29 levels "Australien","Belgien",..: 3 3 3 3 3 3 3 3 9 3 ...
 $ direction: Factor w/ 2 levels "LL","RL": 1 1 1 1 1 1 1 1 2 1 ...
 $ transmission: Factor w/ 2 levels "AUT","SCH": 1 1 1 1 1 1 1 1 1 1 ...
 $ range: Factor w/ 4 levels "1","2","3","4": 3 3 3 2 1 3 2 4 3 2 ...
 - attr(*, "na.action")= 'omit' Named int  6500 9748
  ..- attr(*, "names")= chr  "6500" "9748"

Голова моего поезда выглядит так:

> head(train,10)
     number          Land           direction  transmission       range 
1  reference Bundesrep. Deutschland      LL         AUT             3
2  reference Bundesrep. Deutschland      LL         AUT             3
3  reference Bundesrep. Deutschland      LL         AUT             3
4  reference Bundesrep. Deutschland      LL         AUT             2
5  reference Bundesrep. Deutschland      LL         AUT             1
6  reference Bundesrep. Deutschland      LL         AUT             3
7  reference Bundesrep. Deutschland      LL         AUT             2
8  problem                   Taiwan      LL         AUT             3
9  reference Bundesrep. Deutschland      LL         AUT             4
10 reference        Grossbritannien      RL         AUT             3
11 reference Bundesrep. Deutschland      LL         SCH             2

А это мой код:

library(DMWr)
smote_train <- SMOTE(train$number ~ ., data  = train, perc.over=500, k =5)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...