Regressão Logística em Python - Reestruturação de Dados
Sempre que uma organização realiza uma pesquisa, ela tenta coletar o máximo de informações possível do cliente, com a ideia de que essas informações seriam úteis para a organização de uma forma ou de outra, em um momento posterior. Para resolver o problema atual, temos que coletar as informações que são diretamente relevantes para o nosso problema.
Exibindo todos os campos
Agora, vamos ver como selecionar os campos de dados úteis para nós. Execute a seguinte instrução no editor de código.
In [6]: print(list(df.columns))
Você verá a seguinte saída -
['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']
A saída mostra os nomes de todas as colunas do banco de dados. A última coluna “y” é um valor booleano que indica se este cliente tem um depósito a prazo no banco. Os valores deste campo são “y” ou “n”. Você pode ler a descrição e o propósito de cada coluna no arquivo banks-name.txt que foi baixado como parte dos dados.
Eliminando campos indesejados
Examinando os nomes das colunas, você saberá que alguns dos campos não têm importância para o problema em questão. Por exemplo, campos comomonth, day_of_week, campanha, etc. não são úteis para nós. Eliminaremos esses campos de nosso banco de dados. Para eliminar uma coluna, usamos o comando drop conforme mostrado abaixo -
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)
O comando diz que solte a coluna número 0, 3, 7, 8 e assim por diante. Para garantir que o índice seja selecionado corretamente, use a seguinte declaração -
In [7]: df.columns[9]
Out[7]: 'day_of_week'
Isso imprime o nome da coluna para o índice fornecido.
Depois de eliminar as colunas que não são obrigatórias, examine os dados com a instrução head. A saída da tela é mostrada aqui -
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
Agora, temos apenas os campos que consideramos importantes para nossa análise e previsão de dados. A importância deData Scientistentra em cena nesta etapa. O cientista de dados deve selecionar as colunas apropriadas para a construção do modelo.
Por exemplo, o tipo de jobembora à primeira vista possa não convencer a todos para a inclusão no banco de dados, será um campo muito útil. Nem todos os tipos de clientes abrirão o TD. As pessoas de renda mais baixa podem não abrir os TDs, enquanto as pessoas de renda mais alta geralmente estacionam seu dinheiro excedente em TDs. Portanto, o tipo de trabalho torna-se significativamente relevante neste cenário. Da mesma forma, selecione cuidadosamente as colunas que você acha que serão relevantes para sua análise.
No próximo capítulo, prepararemos nossos dados para construir o modelo.