Логистическая регрессия в Python - реструктуризация данных
Всякий раз, когда какая-либо организация проводит опрос, они стараются собрать как можно больше информации от клиента, с мыслью, что эта информация будет полезна для организации так или иначе в более поздний момент времени. Чтобы решить текущую проблему, мы должны собрать информацию, которая имеет непосредственное отношение к нашей проблеме.
Отображение всех полей
Теперь давайте посмотрим, как выбрать полезные для нас поля данных. Выполните следующую инструкцию в редакторе кода.
In [6]: print(list(df.columns))
Вы увидите следующий вывод -
['age', 'job', 'marital', 'education', 'default', 'housing', 'loan',
'contact', 'month', 'day_of_week', 'duration', 'campaign', 'pdays',
'previous', 'poutcome', 'emp_var_rate', 'cons_price_idx', 'cons_conf_idx',
'euribor3m', 'nr_employed', 'y']
В выходных данных отображаются имена всех столбцов в базе данных. Последний столбец «y» представляет собой логическое значение, указывающее, есть ли у этого клиента срочный депозит в банке. Значения этого поля - «y» или «n». Вы можете прочитать описание и назначение каждого столбца в файле Banks-name.txt, который был загружен как часть данных.
Устранение нежелательных полей
Изучив имена столбцов, вы поймете, что некоторые поля не имеют значения для рассматриваемой проблемы. Например, такие поля, какmonth, day_of_week, кампания и т. д. бесполезны для нас. Мы удалим эти поля из нашей базы данных. Чтобы удалить столбец, мы используем команду drop, как показано ниже -
In [8]: #drop columns which are not needed.
df.drop(df.columns[[0, 3, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19]],
axis = 1, inplace = True)
Команда говорит, что отбрасываются столбцы с номерами 0, 3, 7, 8 и так далее. Чтобы убедиться, что индекс выбран правильно, используйте следующий оператор -
In [7]: df.columns[9]
Out[7]: 'day_of_week'
Это печатает имя столбца для данного индекса.
После удаления столбцов, которые не требуются, проверьте данные с помощью оператора head. Вывод экрана показан здесь -
In [9]: df.head()
Out[9]:
job marital default housing loan poutcome y
0 blue-collar married unknown yes no nonexistent 0
1 technician married no no no nonexistent 0
2 management single no yes no success 1
3 services married no no no nonexistent 0
4 retired married no yes no success 1
Теперь у нас есть только те поля, которые мы считаем важными для анализа и прогнозирования данных. ВажностьData Scientistпоявляется на картинке на этом этапе. Специалист по данным должен выбрать соответствующие столбцы для построения модели.
Например, тип jobхотя на первый взгляд может не всех убедить для включения в базу данных, это будет очень полезная область. Не все типы клиентов откроют ТД. Люди с низким доходом могут не открывать TD, в то время как люди с более высоким доходом обычно хранят свои лишние деньги в TD. Таким образом, тип работы становится очень важным в этом сценарии. Точно так же внимательно выберите столбцы, которые, по вашему мнению, будут иметь отношение к вашему анализу.
В следующей главе мы подготовим наши данные для построения модели.