Проблема с использованием функции SMOTE () из пакета DMwR - PullRequest
0 голосов
/ 19 сентября 2019

Я работаю над набором данных Kaggle: https://www.kaggle.com/mlg-ulb/creditcardfraud

Мне приходится сталкиваться с несбалансированными данными.Действительно, существует 492 транзакции с мошенничеством и 284315 транзакций без мошенничества.Я настроил обучающий и тестовый набор с помощью функции sample () следующим образом:

train.test.split <- sample(2
                           , nrow(df)
                           , replace = TRUE
                           , prob = c(0.7, 0.3))
train = df[train.test.split == 1,]
attach(train)
test = df[train.test.split == 2,]
attach(test)

В тренировочном наборе имеется 199411 наблюдений, а в тестовом наборе 85396 наблюдений.В наборе обучающих данных у меня 353 транзакции с мошенничеством, тогда как в тестовом наборе данных 139 транзакций без мошенничества.

На самом деле я хочу SMOTE обучающего набора, сохраняя 353 транзакции мошенничества и сохраняя 353 * 8 =2824 транзакции без мошенничества.

Кажется, у меня не может быть такого случая с perc.under = 100.

У кого-нибудь есть решение для этого?

Поэтому я пытаюсь использовать функцию SMOTE () в orde

...