случайная передискретизация для нескольких категорий в python - PullRequest
0 голосов
/ 13 января 2020

Я пытаюсь сделать метод случайной выборки на несбалансированном наборе данных, чтобы предсказать соответствующую «категорию» для данного «описания».

df_1['Category'].value_counts().loc[lambda x : x>1]

Категории слишком много и неравномерно. Я хочу привести их всех к равному уровню, чтобы модель машинного обучения не предсказывала всегда, скажем, «iam ~ ki-000», поскольку их слишком много.

 iam~ki-000                378
 iam~ki-002                180
 iam~ki-049                 99
 iam~ki-050                 91
 iam~ki-057                 91
                          ... 
 iam~ki-077                  2 

Пока я могу придумать только одно решение, и это очень неэффективно: (

То есть делать индивидуальные вычисления для умножения каждой категории на выборку набора данных. Всего существует почти 90 категорий. Может кто-нибудь помочь мне написать функцию, которая агрегирует все категории равномерно?

ki-057 = dataframe['Category'] == iam~ki-000
df_try = df[ki-057]
df = df.append([df_try]*4,ignore_index=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...