Введение
В машинном обучении перед обучением модели часто необходимо преобразовать целевой прогноз. Это может включать задачи, такие как преобразование многоклассовых меток в бинарную индикаторную матрицу или кодирование нечисловых меток в числовые метки.
В этом лабе мы будем изучать различные методы, предоставляемые модулем sklearn.preprocessing в scikit-learn для преобразования целевого прогноза.
Советы по ВМ
После запуска ВМ нажмите в левом верхнем углу, чтобы переключиться на вкладку Ноутбук, чтобы получить доступ к Jupyter Notebook для практики.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь задавать вопросы Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Бинаризация меток
Бинаризация меток - это процесс преобразования многоклассовых меток в бинарную индикаторную матрицу. Это можно сделать с использованием класса LabelBinarizer.
from sklearn import preprocessing
## Создаем экземпляр LabelBinarizer
lb = preprocessing.LabelBinarizer()
## Настраиваем LabelBinarizer на списке многоклассовых меток
lb.fit([1, 2, 6, 4, 2])
## Получаем классы, изученные LabelBinarizer
lb.classes_
## Преобразуем список многоклассовых меток в бинарную индикаторную матрицу
lb.transform([1, 6])
Бинаризация многофакторных меток
Бинаризация многофакторных меток - это процесс преобразования коллекции коллекций меток в индикаторный формат. Это можно сделать с использованием класса MultiLabelBinarizer.
from sklearn.preprocessing import MultiLabelBinarizer
## Определяем список коллекций меток
y = [[2, 3, 4], [2], [0, 1, 3], [0, 1, 2, 3, 4], [0, 1, 2]]
## Создаем экземпляр MultiLabelBinarizer и применяем fit_transform к списку коллекций
MultiLabelBinarizer().fit_transform(y)
Кодирование меток
Кодирование меток - это процесс преобразования нечисловых меток в числовые метки. Это можно сделать с использованием класса LabelEncoder.
from sklearn import preprocessing
## Создаем экземпляр LabelEncoder
le = preprocessing.LabelEncoder()
## Настраиваем LabelEncoder на списке нечисловых меток
le.fit(["paris", "paris", "tokyo", "amsterdam"])
## Получаем классы, изученные LabelEncoder
list(le.classes_)
## Преобразуем список нечисловых меток в числовые метки
le.transform(["tokyo", "tokyo", "paris"])
## Обратное преобразование числовых меток в нечисловые метки
list(le.inverse_transform([2, 2, 1]))
Резюме
В этом лабе мы узнали, как преобразовать целевой прогноз с использованием различных методов, предоставляемых модулем sklearn.preprocessing в scikit-learn. Эти методы включали бинаризацию меток, бинаризацию многофакторных меток и кодирование меток.