Я пытаюсь обучить многомерную модель линейной регрессии.У меня есть набор данных с именем «основной».В этом наборе данных есть несколько категориальных переменных.Я озвучил категориальную переменную.Допустим, столбцы, полученные после дублирования, - это A, B, C, D и так далее.Теперь, когда я пытаюсь выполнить разделение тест-поезда для этого основного набора данных, полученный таким образом набор данных поезда имеет только значения 0 в одном из этих столбцов.Как я могу преодолеть эту проблему.
Код, который я использую:
для разделения на поезд-тест:
from sklearn.model_selection import train_test_split
np.random.seed(0)
df_train, df_test = train_test_split(main, train_size = 0.7, test_size = 0.3, random_state = 100)
При запуске приведенного ниже кода:
main.columns[main.nunique() == 1]
Результат: Index([], dtype='object')
И при запуске приведенного ниже кода для данных поезда:
df_train.columns[df_train.nunique() == 1]
Результат: Index(['A', 'D', 'S'], dtype='object')
Я хочу, чтобы итоговый набор поездов содержал объекты со всей комбинацией значений.Тем не менее, это разделение дает мне только одно значение в некоторых функциях
Редактировать: я проверил уникальные значения в этих столбцах, и эти столбцы сильно разбалансированы, для положительного случая присутствует только одно значение.Я стараюсь расслаиваться и нужно сдавать в аренду два ряда позитивного класса.И это касается многих столбцов.Поэтому я не могу отдельно включить эти столбцы в набор данных поезда, так как для этого потребуется написание кода для всех столбцов.Я хочу, чтобы это было сделано автоматически.