0Pricing
Learn AI with Python · Lección

Creación de características de interacción y polinómicas

PolynomialFeatures, términos de interacción manuales, características de proporción y discretización de variables continuas.

Creación de características de interacción y polinómicas es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.

Por qué crear nuevas características

Los modelos lineales solo capturan relaciones en línea recta. Al crear características de interacción y polinómicas, permite que los modelos sencillos expresen curvas y efectos combinados entre variables.

Qué son las características de interacción

Una interacción multiplica dos características, por ejemplo, area = length * width. Captura efectos que dependen de ambas entradas a la vez y que ninguna de ellas puede explicar por sí sola.

Conceptos básicos de PolynomialFeatures

PolynomialFeatures genera automáticamente potencias y productos de las características hasta el degree elegido. El grado 2 añade cuadrados y productos por pares.

from sklearn.preprocessing import PolynomialFeatures
import numpy as np

X = np.array([[2, 3]])
poly = PolynomialFeatures(degree=2)
print(poly.fit_transform(X))
# 1, x1, x2, x1^2, x1*x2, x2^2

Modo interaction_only

Establecer interaction_only=True conserva los productos cruzados, pero elimina las potencias puras como x1^2. Resulta útil cuando solo desea efectos combinados y no curvatura.

from sklearn.preprocessing import PolynomialFeatures

poly = PolynomialFeatures(degree=2, interaction_only=True, include_bias=False)
X_int = poly.fit_transform(X)

Cuidado con la explosión de características

Los grados altos crean muchas características y aumentan el riesgo de sobreajuste. Con 10 entradas, el grado 3 produce cientos de columnas. Mantenga bajo el grado (2 o 3) y combínelo con selección de características o regularización.

Características de proporción manuales

El conocimiento del dominio suele superar a la fuerza bruta. Las proporciones creadas manualmente, como el precio por metro cuadrado o los clics por impresión, incorporan un significado que la expansión polinómica no encontraría.

import pandas as pd

df["price_per_sqm"] = df["price"] / df["area"]
df["ctr"] = df["clicks"] / df["impressions"]

Agrupación en intervalos con pd.cut

La agrupación en intervalos convierte una variable continua en categorías. pd.cut divide una columna en intervalos, lo que resulta útil para capturar efectos no lineales o agrupar edades, ingresos, etc.

import pandas as pd

df["age_group"] = pd.cut(
    df["age"],
    bins=[0, 18, 35, 60, 120],
    labels=["minor", "young", "adult", "senior"],
)

Agrupación por frecuencia uniforme

pd.qcut crea intervalos con cantidades aproximadamente iguales (cuantiles), lo que resulta práctico cuando la distribución está sesgada y desea grupos equilibrados.

import pandas as pd

df["income_quartile"] = pd.qcut(df["income"], q=4, labels=False)

Tratamiento del sesgo con una transformación logarítmica

Las características con sesgo hacia la derecha (ingresos, precios, cantidades) perjudican a muchos modelos. Una transformación logarítmica comprime los valores grandes y hace que la distribución sea más simétrica.

import numpy as np

# log1p handles zeros safely: log(1 + x)
df["log_income"] = np.log1p(df["income"])

Raíz cuadrada y otras transformaciones

La transformación de raíz cuadrada también reduce el sesgo, pero de forma más gradual que el logaritmo, por lo que es adecuada para datos de conteo. Elija la transformación que haga más simétrico el histograma.

import numpy as np

df["sqrt_count"] = np.sqrt(df["count"])
# inspect df["sqrt_count"].hist() to confirm reduced skew

Cómo combinarlo todo

Combine distintos enfoques: aplique una transformación logarítmica a las columnas sesgadas, agrupe en intervalos cuando los umbrales sean importantes, añada proporciones basadas en el dominio y use PolynomialFeatures para las interacciones. Valide siempre que las nuevas características mejoren realmente las puntuaciones de validación cruzada.

Comprobación rápida

Compruebe sus conocimientos sobre la ingeniería de características.

Resumen

Resumen: Cree características para ayudar a los modelos sencillos. PolynomialFeatures con degree e interaction_only añade productos y potencias (tenga cuidado con la explosión). Cree proporciones manuales a partir del conocimiento del dominio, agrupe en intervalos con pd.cut/pd.qcut y corrija el sesgo con transformaciones logarítmicas o de raíz cuadrada. Valide siempre las mejoras.

Preguntas frecuentes

¿La lección «Creación de características de interacción y polinómicas» es gratis?

Sí — el texto completo de «Creación de características de interacción y polinómicas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.

¿Qué aprenderé en «Creación de características de interacción y polinómicas»?

PolynomialFeatures, términos de interacción manuales, características de proporción y discretización de variables continuas. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Learn AI with Python?

No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Creación de características de interacción y polinómicas»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?

Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Métodos de selección de características
  2. Creación de características de interacción y polinómicas
  3. Target encoding y gestión avanzada de variables categóricas
  4. Ingeniería automatizada de características con Featuretools
← Volver a Learn AI with Python