Frontera de Decisión
Vamos a graficar los resultados de la regresión logística. Considere el siguiente ejemplo con dos características:
Una vez que construimos una regresión logística, podemos graficar una frontera de decisión. Esta muestra la región de cada clase donde las nuevas instancias se predicen como esa clase. Por ejemplo, aquí está la frontera de decisión de la regresión logística aplicada a los datos anteriores:
Podemos ver que la línea separa perfectamente las dos clases aquí. Cuando esto ocurre, el conjunto de datos se denomina linealmente separable. Sin embargo, esto no siempre es así. ¿Qué sucede si el conjunto de datos es así:
Arriba se muestra una frontera de decisión para un conjunto de datos algo diferente. Aquí los datos no son linealmente separables; por lo tanto, las predicciones realizadas por la Regresión Logística son imperfectas. Desafortunadamente, por defecto, la Regresión Logística no puede predecir fronteras de decisión más complejas, así que es la mejor predicción que podemos obtener.
Pero recuerda que la Regresión Logística se deriva de la Regresión Lineal, la cual tiene una solución para el problema de que el modelo sea demasiado simple. Esta solución es la Regresión Polinómica, y podemos usar su ecuación para calcular z y obtener una frontera de decisión de forma más compleja:
z=β0+β1x1+β2x2+β3x12+β4x1x2+β5x22Al igual que en la Regresión Polinómica, podemos usar el transformador PolynomialFeatures para añadir términos polinómicos a nuestras características; esto ayuda al modelo a aprender patrones más complejos.
from sklearn.preprocessing import PolynomialFeatures
X_poly = PolynomialFeatures(2, include_bias=False).fit_transform(X)
Esta línea transforma las características de entrada originales en X añadiendo:
- Términos al cuadrado (por ejemplo, x2);
- Términos de interacción (por ejemplo, x1⋅x2 si hay múltiples características).
Por ejemplo, si X originalmente tiene dos características: [x1,x2], entonces después de aplicar PolynomialFeatures(2, include_bias=False), se obtiene: [x1,x2,x12,x1x2,x22]
Esto permite que modelos como la Regresión Logística capturen relaciones no lineales y produzcan fronteras de decisión más flexibles y curvas. Sin embargo, aumentar demasiado el grado puede llevar a que el modelo se ajuste demasiado a los datos de entrenamiento, un problema conocido como sobreajuste. Por eso, normalmente se prueban primero grados bajos y se evalúa el modelo cuidadosamente.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Can you explain what a decision boundary is in more detail?
How does PolynomialFeatures help Logistic Regression with non-linear data?
What is overfitting and how can I prevent it when using polynomial features?
Awesome!
Completion rate improved to 4.17
Frontera de Decisión
Desliza para mostrar el menú
Vamos a graficar los resultados de la regresión logística. Considere el siguiente ejemplo con dos características:
Una vez que construimos una regresión logística, podemos graficar una frontera de decisión. Esta muestra la región de cada clase donde las nuevas instancias se predicen como esa clase. Por ejemplo, aquí está la frontera de decisión de la regresión logística aplicada a los datos anteriores:
Podemos ver que la línea separa perfectamente las dos clases aquí. Cuando esto ocurre, el conjunto de datos se denomina linealmente separable. Sin embargo, esto no siempre es así. ¿Qué sucede si el conjunto de datos es así:
Arriba se muestra una frontera de decisión para un conjunto de datos algo diferente. Aquí los datos no son linealmente separables; por lo tanto, las predicciones realizadas por la Regresión Logística son imperfectas. Desafortunadamente, por defecto, la Regresión Logística no puede predecir fronteras de decisión más complejas, así que es la mejor predicción que podemos obtener.
Pero recuerda que la Regresión Logística se deriva de la Regresión Lineal, la cual tiene una solución para el problema de que el modelo sea demasiado simple. Esta solución es la Regresión Polinómica, y podemos usar su ecuación para calcular z y obtener una frontera de decisión de forma más compleja:
z=β0+β1x1+β2x2+β3x12+β4x1x2+β5x22Al igual que en la Regresión Polinómica, podemos usar el transformador PolynomialFeatures para añadir términos polinómicos a nuestras características; esto ayuda al modelo a aprender patrones más complejos.
from sklearn.preprocessing import PolynomialFeatures
X_poly = PolynomialFeatures(2, include_bias=False).fit_transform(X)
Esta línea transforma las características de entrada originales en X añadiendo:
- Términos al cuadrado (por ejemplo, x2);
- Términos de interacción (por ejemplo, x1⋅x2 si hay múltiples características).
Por ejemplo, si X originalmente tiene dos características: [x1,x2], entonces después de aplicar PolynomialFeatures(2, include_bias=False), se obtiene: [x1,x2,x12,x1x2,x22]
Esto permite que modelos como la Regresión Logística capturen relaciones no lineales y produzcan fronteras de decisión más flexibles y curvas. Sin embargo, aumentar demasiado el grado puede llevar a que el modelo se ajuste demasiado a los datos de entrenamiento, un problema conocido como sobreajuste. Por eso, normalmente se prueban primero grados bajos y se evalúa el modelo cuidadosamente.
¡Gracias por tus comentarios!