У меня есть набор данных из двух столбцов (функция и класс) с более чем 200 классами, к которым должны быть классифицированы входные функции. Встречаемость классов колеблется от 1 до нескольких тысяч для некоторых классов. Столбец функций содержит текст и числа. Я попробовал следующий способ:
СМОТ из УБЛ
SmoteClassif(lab ~ ., dat, C.perc = "balance",dist="HEOM")
Это дает предупреждения:
Warning messages:
1: SmoteClassif :: Nr of examples is less or equal to k.
Using k = 1 in the nearest neighbours computation in this bump.
2: SmoteClassif :: Nr of examples is less or equal to k.
Using k = 1 in the nearest neighbours computation in this bump.
3: SmoteClassif :: Nr of examples is less or equal to k.
Using k = 2 in the nearest neighbours computation in this bump.
4: SmoteClassif :: Nr of examples is less or equal to k.
Using k = 2 in the nearest neighbours computation in this bump.
Но все же это прекрасно уравновешивает все классы lab
одинаково. Однако не все функции присутствуют в наборе данных SMOTED. Разве это не потеря данных, то есть отсутствуют функции, необходимые для обучения модели? Я новичок в этой области. Объясняют ли предупреждения проблему? Я пробовал с k=1
, и все равно конечный результат тот же.
Любые предложения помогут.