Функция SmoteClassif, реализованная в пакете UBL , объединяет передискретизацию с использованием процедуры SMOTE со случайной недостаточной дискретизацией .
Это означает, что при использовании опции «баланс»,функция сгенерирует новые случаи для самых редких классов и удалит случаи из самых населенных классов.Цель, в конце концов, состоит в том, чтобы получить новый сбалансированный набор данных, который имеет примерно такой же размер, что и исходный набор данных.Поэтому, когда вы используете опцию «баланс», вы генерируете новые синтетические наблюдения и удаляете наблюдения из наиболее часто используемых классов, чтобы в итоге вы получили набор данных, размер которого аналогичен исходному.
Если вы хотите применить только процедуру передискретизации, вам нужно будет указать в параметре C.perc, какую избыточную выборку вы хотите применить к каждому классу.Например, вы можете установить
C.perc = list(A = 2, B=3)
Это будет дублировать элементы класса A и дублировать элементы класса B, в то время как оставшийся набор данных не изменится (все другие классы сохраняют свою частоту).В этом случае ваш набор данных увеличивается за счет нового синтетического кода, и никакая информация не отбрасывается!
Простой пример:
library(MASS)
data(cats)
table(cats$Sex)
F M
47 97
# class M is duplicated
mysmote.cats <- SmoteClassif(Sex~., cats, list(M = 2))
table(mysmote.cats$Sex)
F M
47 194
#class M is oversampled by 150% and class F is undersampled by 50%
mysmote.cats <- SmoteClassif(Sex~., cats, list(M = 1.5, F=0.5))
table(mysmote.cats$Sex)
F M
23 145
Что касается предупреждений , по умолчаниюфункция должна использовать k = 5 при вычислении ближайших соседей примеров из одного определенного класса.Однако в некоторых наборах данных невозможно вычислить выбранное количество соседей, потому что примеров недостаточно.Например, если у вас есть только 3 примера класса A, когда вы выбираете случай из этого класса, вы сможете найти не более 2 ближайших соседей из этого класса!
Итак, когда выбранное число k слишком великочтобы определить это конкретное число соседей по делу, отображается предупреждение.