Regresión logística en Python: división de datos
Tenemos alrededor de cuarenta y un mil registros. Si usamos todos los datos para la construcción de modelos, no nos quedarán datos para probar. Entonces, generalmente, dividimos todo el conjunto de datos en dos partes, digamos un porcentaje de 70/30. Usamos el 70% de los datos para la construcción de modelos y el resto para probar la precisión en la predicción de nuestro modelo creado. Puede utilizar una relación de división diferente según sus necesidades.
Creación de una matriz de características
Antes de dividir los datos, los separamos en dos matrices X e Y. La matriz X contiene todas las características (columnas de datos) que queremos analizar y la matriz Y es una matriz unidimensional de valores booleanos que es la salida de la predicción. Para entender esto, ejecutemos un código.
En primer lugar, ejecute la siguiente declaración de Python para crear la matriz X:
In [17]: X = data.iloc[:,1:]
Para examinar el contenido de X utilizar headpara imprimir algunos registros iniciales. La siguiente pantalla muestra el contenido de la matriz X.
In [18]: X.head ()
La matriz tiene varias filas y 23 columnas.
A continuación, crearemos una matriz de salida que contenga "y" valores.
Crear matriz de salida
Para crear una matriz para la columna de valor predicho, use la siguiente declaración de Python:
In [19]: Y = data.iloc[:,0]
Examine su contenido llamando head. La salida de pantalla a continuación muestra el resultado:
In [20]: Y.head()
Out[20]: 0 0
1 0
2 1
3 0
4 1
Name: y, dtype: int64
Ahora, divida los datos usando el siguiente comando:
In [21]: X_train, X_test, Y_train, Y_test = train_test_split(X, Y, random_state=0)
Esto creará las cuatro matrices llamadas X_train, Y_train, X_test, and Y_test. Como antes, puede examinar el contenido de estas matrices usando el comando head. Usaremos los arreglos X_train e Y_train para entrenar nuestro modelo y los arreglos X_test e Y_test para probar y validar.
Ahora, estamos listos para construir nuestro clasificador. Lo veremos en el próximo capítulo.