Логистическая регрессия Code Candy: кодирование категориальных переменных в Python.

Написание кода для интеллектуального анализа данных с помощью scikit-learn на python неизбежно приведет вас к решению проблемы логистической регрессии с несколькими категориальными переменными в данных. Хотя scikit-learn поддерживает как простую, так и полиномиальную регрессию, он ожидает, что входные данные будут в числовой форме для вычисления результата с использованием своих внутренних функций активации.

Вот простейший метод преобразования категориальной переменной в числовую, понятную модулям scikit-learn.

Давайте рассмотрим приведенный ниже набор данных, из которого можно сделать вывод, что опыт человека определяет получаемую заработную плату. Теперь ясно, что и независимые, и зависимые переменные здесь представлены в форме диапазона. Использование модуля scikit-learn для логистической регрессии вернет ошибку, поскольку внутренние модули не смогут преобразовать строку в число с плавающей запятой. Поэтому нам нужно указать эти столбцы как категориальные переменные в Python и преобразовать значения в новый набор числовых значений для каждой категории.

Например, представьте себе набор данных, содержащий информацию о поле сотрудника.

Вместо того, чтобы иметь значения как {'male', female ',' female, 'male'} в нашем наборе данных, мы будем кодировать их числовым значением {1,0,0,1} и использовать этот числовой кортеж в нашем моделировании. уравнение.

Считайте эти два столбца частью набора данных data_train. В следующем коде будет объявлено, что эти два столбца относятся к категории типа Python, и закодированные столбцы могут быть дополнительно использованы для соответствия данных логистической регрессии.

data_train ['опыт'] = data_train ['опыт']. astype ('категория'
data_train ['exp_cat'] = data_train ['experience']. cat.codes
Test = data_train ['exp_cat ']

Test.head () возвращает следующие значения вместо категорий, показанных выше.
0 104
1 19
2 106
3 112
4 8

Теперь такой набор данных можно использовать для построения 2d-массива x в приведенном ниже коде для разработки модуля логистической регрессии.

из sklearn.linear_model import LogisticRegression
lr = LogisticRegression (). fit (x, y)

Это небольшой совет по программированию! Надеюсь, это будет полезно!