Regresión logística en Python

Regresión logística en Python
La regresión logística es un algoritmo de clasificación de aprendizaje automático. La regresión logística también es similar a la regresión lineal. Pero la principal diferencia entre la regresión logística y la regresión lineal es que los valores de salida de regresión logística son siempre binarios (0, 1) y no numéricos. La regresión logística básicamente crea una relación entre variables independientes (una o más de una) y variables dependientes. La variable dependiente es una variable binaria que tiene principalmente dos casos:
  • 1 para verdadero o
  • 0 para falso

La importancia clave de la regresión logística:

  1. Las variables independientes no deben ser multicolinealidad; Si hay alguna relación, entonces debería ser muy poco.
  2. El conjunto de datos para la regresión logística debe ser lo suficientemente grande como para obtener mejores resultados.
  3. Solo esos atributos deberían estar allí en el conjunto de datos, que tiene algún significado.
  4. Las variables independientes deben estar de acuerdo con el logro.

Para construir el modelo de la Regresión logística, Usamos el lear biblioteca. El proceso de la regresión logística en Python se da a continuación:

  1. Importar todos los paquetes requeridos para la regresión logística y otras bibliotecas.
  2. Cargar el conjunto de datos.
  3. Comprender las variables del conjunto de datos independientes y las variables dependientes.
  4. Dividir el conjunto de datos en datos de capacitación y prueba.
  5. Inicializar el modelo de regresión logística.
  6. Coloque el modelo con el conjunto de datos de entrenamiento.
  7. Predecir el modelo utilizando los datos de prueba y calcule la precisión del modelo.

Problema: Los primeros pasos son recopilar el conjunto de datos en el que queremos aplicar el Regresión logística. El conjunto de datos que vamos a usar aquí es para el conjunto de datos de admisión de MS. Este conjunto de datos tiene cuatro variables y de las cuales tres son variables independientes (GRE, GPA, Work_Experience), y una es una variable dependiente (admitida). Este conjunto de datos dirá si el candidato obtendrá admisión o no a una universidad prestigiosa basada en su GPA, GRE o Work_Experience.

Paso 1: Importamos todas las bibliotecas requeridas que requerimos para el programa Python.

Paso 2: Ahora, estamos cargando nuestro conjunto de datos de admisión de MS utilizando la función de pandas read_csv.

Paso 3: El conjunto de datos se ve a continuación:

Etapa 4: Verificamos todas las columnas disponibles en el conjunto de datos y luego establecemos todas las variables independientes en variable X y variables dependientes a Y, como se muestra en la siguiente captura de pantalla.

Paso 5: Después de establecer las variables independientes en X y la variable dependiente a Y, ahora estamos imprimiendo aquí para verificar a X e Y utilizando la función de pandas de cabeza.

Paso 6: Ahora, vamos a dividir todo el conjunto de datos en entrenamiento y prueba. Para esto, estamos utilizando el método Train_Test_Split de Sklearn. Hemos dado el 25% de todo el conjunto de datos a la prueba y el 75% restante del conjunto de datos a la capacitación.

Paso 7: Ahora, vamos a dividir todo el conjunto de datos en entrenamiento y prueba. Para esto, estamos utilizando el método Train_Test_Split de Sklearn. Hemos dado el 25% de todo el conjunto de datos a la prueba y el 75% restante del conjunto de datos a la capacitación.

Luego creamos el modelo de regresión logística y se ajustamos a los datos de entrenamiento.

Paso 8: Ahora, nuestro modelo está listo para la predicción, por lo que ahora estamos pasando los datos de prueba (x_test) al modelo y obtuvo los resultados. Los resultados muestran (y_predicciones) que valora 1 (admitido) y 0 (no admitido).

Paso 9: Ahora, imprimemos el informe de clasificación y la matriz de confusión.

La clasificación_report muestra que el modelo puede predecir los resultados con una precisión del 69%.
La matriz de confusión muestra los detalles totales de datos X_TEST como:
Tp = verdaderos positivos = 8
TN = verdadero negativo = 61
Fp = falsos positivos = 4
Fn = falsos negativos = 27

Entonces, la precisión total según la confusión_matrix es:

Precisión = (tp+tn)/total = (8+61)/100 = 0.69

Paso 10: Ahora, vamos a verificar el resultado a través de la impresión. Entonces, simplemente imprimimos los 5 elementos principales de X_Test y Y_Test (valor real real) usando la función de pandas head. Luego, también imprimimos los 5 mejores resultados de las predicciones como se muestra a continuación:

Combinamos los tres resultados en una hoja para comprender las predicciones como se muestra a continuación. Podemos ver que excepto los datos 341 x_test, que era verdadero (1), la predicción es falsa (0) más. Entonces, nuestras predicciones de modelo funcionan 69%, como ya hemos mostrado arriba.

Paso 11: Entonces, entendemos cómo se realizan las predicciones del modelo en el conjunto de datos invisible como x_test. Por lo tanto, creamos solo un conjunto de datos nuevo al azar utilizando un marco de datos Pandas, lo pasamos al modelo capacitado y obtuvimos el resultado que se muestra a continuación.

El código completo en Python que se da a continuación:

El código para este blog, junto con el conjunto de datos, está disponible en el siguiente enlace
https: // github.com/shekharpandey89/regresión logística