Проблема с использованием функции SMOTE() из пакета DMwR

Я работаю над набором данных 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 не-мошеннических транзакций.

На самом деле я хочу УПРАВЛЯТЬ обучающим набором, сохраняя 353 мошеннических транзакций и сохраняя 353*8=2824 не-мошеннических транзакций.

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

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

Следовательно, я пытаюсь использовать функцию SMOTE() в порядке

0 ответов

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