Одно горячее кодирование — это процесс, при котором категориальные переменные преобразуются в форму, которая передается алгоритму машинного обучения для более точного прогнозирования.
Я продемонстрировал концепт на фиктивных данных, курируемых мной.
В этом примере набора данных «асцит», «отек» и «стадия» являются категориальными переменными, а «холестерин» — непрерывной переменной, поскольку может быть любым десятичным значением больше нуля.
В этом наборе данных я применил одно горячее кодирование к столбцу отека, потому что у него было три категории. Одно горячее кодирование в этом столбце создаст столбцы функций для каждого из возможных результатов. Я также применил эту технику к столбцу стадии, так как они не имеют форму 0 и 1.
«Стадия» горячего кодирования
Глядя на приведенную выше таблицу, видно, что одна из функций является избыточной, поэтому, чтобы избежать мультиколлинеарности, я опустил столбцы.
Я преобразовал одно горячее закодированное значение в десятичное число, поскольку модель ожидает, что значения будут переданы ей в определенном типе данных. Я переименовал столбец «stage_4» в «stage», а затем преобразовал значения в тип данных float64, используя numpy.
Прогноз:
Используя приведенный выше набор данных, я предсказал опасность нового пациента, используя функцию опасности
где:
Тета – коэффициент Xi признаков, лямбда(t, x) – опасность для пациента.
Я умножил коэффициент на характеристики.
Коэффициент представляет собой одномерный массив, поэтому я переставил функции, которые являются X
Наконец, я предсказал опасности трех пациентов.
Вывод:
Я считаю, что дал понимание того, что означает одно горячее кодирование и как это сделать. Это код, и вы можете связаться со мной в LinkedIn. Спасибо за чтение.