get_dummies() используется в Pandas для преобразования категориальных переменных в числовые данные и повышения производительности моделей машинного обучения. Это связано с тем, что большинство моделей могут принимать только числовые значения в качестве входных данных.

Затем эти новые столбцы можно использовать в алгоритмах машинного обучения или статистических моделях в качестве предикторов.

Например. Предположим, у нас есть столбец под названием «Fuel_type» в нашем фрейме данных, который имеет категориальные значения «Бензин», «Дизель» и «СПГ». Мы можем использоватьget_dummies()для создания трех новых столбцов с именами «Fuel_Petrol», «Fuel_Diesel» и «Fuel_CNG» с двоичными значениями в них, указывающими, является ли топливо в строке «Бензин», «Дизель» или « СПГ».

Проблема возникает, когда категориальные значения в наборе данных поезда и наборе тестовых данных различаются, несмотря на то, что его можно легко интерпретировать и он обеспечивает чистое и четкое изображение столбцов. В этом случае это может привести к несоответствию при моделировании.

Параметр drop_first в get_dummies() определяет, следует ли отбрасывать первый уровень категориальной переменной или нет.

Когда drop_first установлено в True, get_dummies() создаст n-1 двоичных столбцов для n категорий категориальной переменной. Это означает, что исключается одна категория, которая служит эталонной категорией и неявно представлена ​​всеми нулями в двоичных столбцах.

Например. Предположим, у нас есть фрейм данных Pandas со столбцом fruit, содержащим категориальные значения «яблоко», «банан» и «апельсин». Мы хотим создать фиктивные переменные из этого столбца, используя get_dummies():

dummy_df = pd.get_dummies(df['fruit'], drop_first=True)
df = pd.concat([df, dummy_df], axis=1)

Результирующий фрейм данных будет иметь два новых столбца: "банан" и "апельсин", а "яблоко" будет неявно удалено, начиная с drop_first=True. Эти столбцы будут иметь двоичные значения 1 или 0, указывающие, содержал ли исходный столбец fruit эту категорию или нет.

Это может помочь уменьшить мультиколлинеарность между фиктивными переменными и повысить стабильность и производительность моделей машинного обучения, которые используют их в качестве предикторов.

Если drop_first оставить False, будет создано ncolumns для ncategories, и там также будут использоваться двоичные значения, чтобы указать, присутствует ли значение или нет.

По умолчанию значение drop_first равно False.