Я работаю над набором данных 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