Regresión logística en Python: reestructuración de datos
Siempre que una organización realiza una encuesta, intenta recopilar la mayor cantidad de información posible del cliente, con la idea de que esta información sería útil para la organización de una forma u otra, en un momento posterior. Para resolver el problema actual, tenemos que recoger la información que sea directamente relevante para nuestro problema.
Visualización de todos los campos
Ahora, veamos cómo seleccionar los campos de datos que nos son útiles. Ejecute la siguiente declaración en el editor de código.
In [6]: print(list(df.columns))
Verá la siguiente salida:
['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']
La salida muestra los nombres de todas las columnas de la base de datos. La última columna "y" es un valor booleano que indica si este cliente tiene un depósito a plazo con el banco. Los valores de este campo son "y" o "n". Puede leer la descripción y el propósito de cada columna en el archivo banks-name.txt que se descargó como parte de los datos.
Eliminar campos no deseados
Al examinar los nombres de las columnas, sabrá que algunos de los campos no tienen importancia para el problema en cuestión. Por ejemplo, campos comomonth, day_of_week, campaña, etc. no nos sirven. Eliminaremos estos campos de nuestra base de datos. Para soltar una columna, usamos el comando soltar como se muestra a continuación:
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)
El comando dice que suelte la columna número 0, 3, 7, 8, etc. Para asegurarse de que el índice esté seleccionado correctamente, utilice la siguiente declaración:
In [7]: df.columns[9]
Out[7]: 'day_of_week'
Esto imprime el nombre de la columna para el índice dado.
Después de descartar las columnas que no son necesarias, examine los datos con la declaración principal. La salida de la pantalla se muestra aquí:
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
Ahora, solo tenemos los campos que creemos que son importantes para nuestro análisis y predicción de datos. La importancia deData Scientistentra en escena en este paso. El científico de datos tiene que seleccionar las columnas apropiadas para la construcción del modelo.
Por ejemplo, el tipo de jobaunque a primera vista puede que no convenza a todo el mundo para su inclusión en la base de datos, será un campo muy útil. No todos los tipos de clientes abrirán el TD. Es posible que las personas de ingresos más bajos no abran los TD, mientras que las personas de ingresos más altos suelen aparcar su exceso de dinero en TD. Entonces, el tipo de trabajo se vuelve significativamente relevante en este escenario. Asimismo, seleccione cuidadosamente las columnas que crea que serán relevantes para su análisis.
En el próximo capítulo, prepararemos nuestros datos para construir el modelo.