Tabla de contenido:
- Cómo cargar sus datos
- La línea 1 importa la biblioteca que le permite dividir el conjunto de datos en dos partes.
- Cómo ejecutar los datos de prueba
- Entonces, ¿cómo se compara el modelo de regresión logística con el parámetro C = 150 con eso? Bueno, no puedes vencer al 100 por ciento. Aquí está el código para crear y evaluar el clasificador logístico con C = 150: >>>> logClassifier_2 = linear_model. LogisticRegression (C = 150, estado_aleatorio = 111) >>> logClassifier_2. fit (X_train, y_train) >>> predicted = logClassifier_2. predecir (X_test) >>> métricas. accuracy_score (y_test, predicha) 0. 93333333333333335 >>> métricas. confusion_matrix (y_test, predicted) array ([[5, 0, 0], [0, 2, 0], [0, 1, 7]])
Video: Regresión Logística - Práctica | #38 Curso Machine Learning con Python 2025
Después de construir su primer modelo predictivo de clasificación para el análisis de los datos, crear más modelos como este es una tarea realmente sencilla en scikit. La única diferencia real de un modelo al siguiente es que puede que tenga que ajustar los parámetros de algoritmo a algoritmo.
Cómo cargar sus datos
Este listado de códigos cargará el conjunto de datos del iris en su sesión: >>>> desde sklearn. datasets import load_iris >>> iris = load_iris ()
Cómo crear una instancia del clasificador
Observe el parámetro (parámetro de regularización) en el constructor. El parámetro de regularización
se usa para evitar el sobreajuste. El parámetro no es estrictamente necesario (el constructor funcionará bien sin él porque de manera predeterminada será C = 1). La creación de un clasificador de regresión logística usando C = 150 crea una mejor gráfica de la superficie de decisión. Puedes ver ambas tramas a continuación.
La línea 1 importa la biblioteca que le permite dividir el conjunto de datos en dos partes.
La línea 2 llama a la función de la biblioteca que divide el conjunto de datos en dos partes y asigna los conjuntos de datos ahora divididos a dos pares de variables.
La línea 3 toma la instancia del clasificador de regresión logística que acaba de crear y llama al método de ajuste para capacitar al modelo con el conjunto de datos de capacitación.
Cómo visualizar el clasificador
Al observar el área de la superficie de decisión en la trama, parece que se debe hacer algún ajuste. Si te ves cerca del centro de la trama, puedes ver que muchos de los puntos de datos que pertenecen al área central (Versicolor) se encuentran en el área del lado derecho (Virginica).
Esta imagen muestra la superficie de decisión con un valor de C de 150. Se ve mejor visualmente, por lo que elegir usar esta configuración para su modelo de regresión logística parece apropiado.
Cómo ejecutar los datos de prueba
En el siguiente código, la primera línea alimenta el conjunto de datos de prueba al modelo y la tercera línea muestra el resultado: >>>> predicted = logClassifier. predicción (X_test) >>> predictedarray ([0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2])
Cómo evaluar el modelo < Puede hacer una referencia cruzada de la salida de la predicción con la matriz y_test. Como resultado, puede ver que predijo correctamente todos los puntos de datos de prueba. Aquí está el código: >>>> de sklearn import metrics >>> predictedarray ([0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2]) >>> y_testarray ([0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2]) >>> métricas. accuracy_score (y_test, predicha) 1. 0 # 1. 0 es 100 por ciento de precisión >>> predicho == y_testarray ([True, True, True, True, True, True, True, True, True, True, True, True, True, True, True], dtype = bool)
Entonces, ¿cómo se compara el modelo de regresión logística con el parámetro C = 150 con eso? Bueno, no puedes vencer al 100 por ciento. Aquí está el código para crear y evaluar el clasificador logístico con C = 150: >>>> logClassifier_2 = linear_model. LogisticRegression (C = 150, estado_aleatorio = 111) >>> logClassifier_2. fit (X_train, y_train) >>> predicted = logClassifier_2. predecir (X_test) >>> métricas. accuracy_score (y_test, predicha) 0. 93333333333333335 >>> métricas. confusion_matrix (y_test, predicted) array ([[5, 0, 0], [0, 2, 0], [0, 1, 7]])
Esperábamos algo mejor, pero en realidad era peor. Hubo un error en las predicciones. El resultado es el mismo que el del modelo de Máquina de Vector de Soporte (SVM).
Aquí está la lista completa del código para crear y evaluar un modelo de clasificación de regresión logística con los parámetros predeterminados: >>>> de sklearn. datasets import load_iris >>> from sklearn import linear_model >>> from sklearn import cross_validation >>> from sklearn import metrics >>> iris = load_iris () >>> X_train, X_test, y_train, y_test = cross_validation. train_test_split (iris. datos, iris. target, test_size = 0. 10, random_state = 111) >>> logClassifier = linear_model. LogisticRegression (, random_state = 111) >>> logClassifier. fit (X_train, y_train) >>> predicted = logClassifier. predicción (X_test) >>> predictedarray ([0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2]) >>> y_testarray ([0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2]) >>> métricas. accuracy_score (y_test, predicha) 1. 0 # 1. 0 es 100 por ciento de precisión >>> predicho == y_testarray ([True, True, True, True, True, True, True, True, True, True, True, True, True, True, True], dtype = bool)