НачатьНачать бесплатно

Кодирование категориальных признаков

Ваш коллега преобразовал столбцы в наборе данных о кредитах в числовые значения с помощью LabelEncoder(), однако пропустил один столбец: credit_history, в котором хранится кредитная история заявителя. Вы хотите создать две версии набора данных: одну с применением LabelEncoder(), другую — с унитарным кодированием (one-hot encoding) — для сравнения. Матрица признаков доступна вам в виде переменной credit. LabelEncoder() и pandas (как pd) уже загружены.

Это упражнение является частью курса

Проектирование рабочих процессов машинного обучения на Python

Посмотреть курс

Инструкции к упражнению

  • Закодируйте credit_history с помощью LabelEncoder().
  • Присоедините результат к исходному фрейму данных.
  • Создайте новый фрейм данных, присоединив к исходному фрейму фиктивные переменные унитарного кодирования.
  • Убедитесь, что унитарное кодирование даёт больше столбцов, чем кодирование меток.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Create numeric encoding for credit_history
credit_history_num = ____.____(
  credit[____])

# Create a new feature matrix including the numeric encoding
X_num = pd.concat([X, pd.Series(____)], ____)

# Create new feature matrix with dummies for credit_history
X_hot = pd.concat(
  [X, ____.____(credit[____])], ____)

# Compare the number of features of the resulting DataFrames
print(X_hot.shape[____] > X_num.shape[____])
Редактировать и запускать код