Как я могу применить ADASYN от smotefamily на мои данные? - PullRequest
0 голосов
/ 18 декабря 2018

У меня несбалансированный набор данных, и я уже использовал SMOTE .

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

Usage
ADAS(X,target,K=5)

Arguments
X: A data frame or matrix of numeric-attributed dataset
target: A vector of a target class attribute corresponding to a dataset X.
K: The number of nearest neighbors during sampling process

Значение train$case == "problem" должно быть превышено.Как я могу это сделать?

Вот мои данные:

> head(train)
    case             land    steering     type  group
1 reference           Asia      LL         AUT    1
2 reference           Asia      LL         AUT    3
3 reference           Asia      LL         AUT    9
4 reference           Asia      LL         AUT    9
5 problem             Asia      LL         AUT    3
6 reference           Asia      LL         AUT    8


> str(train)
'data.frame':   16402 obs. of  5 variables:
 $ case: Factor w/ 2 levels "problem",..: 2 2 2 2 2 2 2 2 2 2 ...
 $ land    : Factor w/ 9 levels "Africa","LatinAmerica",..: 3 3 3 3 3 3 3 3 3 3 ...
 $ steering: Factor w/ 1 level "LL": 1 1 1 1 1 1 1 1 1 1 ...
 $ type: Factor w/ 1 level "AUT": 1 1 1 1 1 1 1 1 1 1 ...
 $ group: Factor w/ 9 levels "1","2","3","4",..: 1 3 9 9 3 8 7 2 4 9 ...

Код с SMOTE :

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