Преобразование категориальных переменных

HR-аналитика: прогнозирование текучести кадров на Python

Hrant Davtyan

Assistant Professor of Data Science American University of Armenia

Типы категориальных переменных

  • Порядковые — переменные с двумя и более категориями, которые можно упорядочить
    • Наш пример: salary
    • Значения: low, medium, high
  • Номинальные — переменные с двумя и более категориями без внутреннего порядка
    • Наш пример: department
    • Значения: sales, accounting, hr, technical, support, management, IT, product_mng, marketing, RandD
HR-аналитика: прогнозирование текучести кадров на Python

Кодирование категорий (salary)

# Change the type of the "salary" column to categorical
data.salary = data.salary.astype('category')     
# Provide the correct order of categories
data.salary = data.salary.cat.reorder_categories(['low',
                                                  'medium',
                                                  'high'])
# Encode categories with integer values
data.salary = data.salary.cat.codes
Старые значения Новые значения
low 0
medium 1
high 2
HR-аналитика: прогнозирование текучести кадров на Python

Создание фиктивных переменных

# Get dummies and save them inside a new DataFrame
departments = pd.get_dummies(data.department)

Пример вывода:

       IT  RandD  accounting  hr  management  marketing  product_mng  sales  support  technical
0       0      0           0   0           0          0            0      0        0          1
HR-аналитика: прогнозирование текучести кадров на Python

Ловушка фиктивных переменных

departments.head()
       IT  RandD  accounting  hr  management  marketing  product_mng  sales  support  technical
0       0      0           0   0           0          0            0      0        0          1

 

departments = departments.drop("technical", axis = 1)
departments.head()
       IT  RandD  accounting  hr  management  marketing  product_mng  sales  support
0       0      0           0   0           0          0            0      0        0
HR-аналитика: прогнозирование текучести кадров на Python

Давайте потренируемся!

HR-аналитика: прогнозирование текучести кадров на Python

Preparing Video For Download...