У меня есть набор данных, который содержит более 5000 строк в наборе поездов и 4000 строк в тестовом наборе.В одном из этих столбцов у меня есть несколько значений для каждой ячейки, разделенных запятой, и проблема в том, что, когда я хочу применить фиктивные переменные к этому столбцу для всего набора данных (объединение и обучение), это занимает огромное количество времени., поскольку создает огромное количество фиктивных объектов, так как большинство значений появляются только пару раз.У меня есть:
Мой код был:
stars_dummies = train_and_test["stars"].str.get_dummies(sep=',')
, но количество созданных функций просто смешно, а время делать это еще больше.
Первые 5 строкмой набор тестов в столбце «звезды»:
Роб Корддри, Крейг Робинсон, Кларк Дьюк
Энн Хэтэуэй, Каллум Блю, Джули Эндрюс
Майлз Теллер, Дж. К. Симмонс, Мелисса Бенуа
Видья Балан, Парамбрата Чаттерджи, Индрана Санчес
Кан-Ву Ким, Чже-Хён Чо, Си-Йон Парк
Вот мои вопросы:
Есть лии эффективный способ создания фиктивной переменной только на соответствующие значения?Я думал предоставить только фиктивные переменные значениям в наборе тестов, которые также находятся в наборе поездов более 2 раз.
Правильно ли создавать фиктивные переменные таким образом, чтобы избежать обучения ненужным фиктивным функциям, которые после не содержатся в нашем тестовом наборе?Если да, что будет эффективным кодом для этого?
Как вы думаете, есть ли лучший способ извлечения фиктивных объектов в столбцах со значениями из нескольких ячеек с очень низкой частотой, чтобы правильно применять алгоритмы машинного обучения?
Заранее спасибо за помощь !!