Я пытаюсь сделать метод случайной выборки на несбалансированном наборе данных, чтобы предсказать соответствующую «категорию» для данного «описания».
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)