En muchos problemas de Machine Learning, el efecto de una variable sobre la variable objetivo no depende únicamente de sus valores individuales, sino también de cómo se relaciona con otras variables del conjunto de datos. Existen situaciones en las que dos o más características, analizadas por separado, aportan poca información, pero al combinarse revelan patrones altamente predictivos.
La interacción entre variables es una de las técnicas más importantes dentro de la Ingeniería de Características porque permite capturar relaciones complejas que muchos algoritmos no son capaces de identificar automáticamente. Su correcta aplicación puede incrementar significativamente la capacidad predictiva de un modelo sin necesidad de utilizar algoritmos más complejos.
¿Qué es la interacción entre variables?
La interacción entre variables consiste en crear nuevas características que representan la combinación de dos o más variables originales con el objetivo de capturar relaciones conjuntas que no son evidentes cuando las variables se analizan de manera independiente. La idea fundamental es que el impacto de una variable puede depender del valor de otra.
Por ejemplo, en un problema de ventas:
| Precio | Publicidad | Ventas |
|---|---|---|
| Bajo | Alta | Muy altas |
| Bajo | Baja | Medias |
| Alto | Alta | Altas |
| Alto | Baja | Muy bajas |
Observamos que el efecto del precio depende del nivel de publicidad y viceversa. Analizar ambas variables por separado podría ocultar parte de esta relación.

¿Por qué son importantes las interacciones?
Muchos fenómenos reales están gobernados por relaciones combinadas entre variables. Algunos ejemplos:
- La edad y el nivel de ingresos pueden influir conjuntamente en la capacidad de compra.
- La temperatura y la humedad afectan simultáneamente la sensación térmica.
- El precio y los descuentos determinan el comportamiento de compra.
- La experiencia laboral y la formación académica pueden influir conjuntamente en el salario.
Las interacciones permiten representar estas relaciones dentro de los datos para que el modelo pueda aprenderlas.
¿Cómo funciona la interacción entre variables?
La técnica consiste en generar nuevas características derivadas a partir de combinaciones matemáticas o lógicas entre variables existentes.
Generalmente el proceso sigue estos pasos:
- Analizar las variables disponibles.
- Identificar relaciones potenciales entre ellas.
- Crear nuevas características combinadas.
- Evaluar si mejoran el rendimiento del modelo.
- Seleccionar las interacciones más relevantes.
Las nuevas variables generadas se incorporan al conjunto de datos y son utilizadas durante el entrenamiento del modelo.
Tipos de interacciones entre variables
Existen múltiples formas de generar interacciones.
- Producto entre variables: Es la interacción más utilizada.
- Cociente entre variables: permite representar proporciones o ratios. Por ejemplo en ingresos/gastos para representar el coste
- Diferencia entre variables: permite capturar brechas o variaciones. Por ejemplo la amplitud entre una variable mínima y otra máxima
- Suma de variables: En algunos casos la combinación aditiva tiene significado práctico. Ejemplo: calcular las ventas totales.
- Interacciones categóricas: También pueden combinarse variables categóricas.
Beneficios de la interacción entre variables
La generación de interacciones ofrece numerosas ventajas.
- Permite capturar relaciones complejas.
- Incrementa la capacidad predictiva.
- Facilita el aprendizaje de modelos lineales.
- Mejora la representación de los datos.
- Puede descubrir patrones ocultos.
- Aumenta el poder explicativo de ciertas variables.
- Reduce la necesidad de algoritmos más complejos.
En muchos casos, una buena interacción puede aportar más valor que añadir nuevas variables.
¿Cuándo utilizar interacciones entre variables?
Es recomendable considerar esta técnica cuando:
- Existen relaciones conocidas entre variables.
- Se trabaja con modelos lineales.
- El rendimiento del modelo es limitado.
- Se dispone de conocimiento del dominio.
- Se buscan patrones complejos.
- El dataset tiene un número moderado de variables.
Resulta especialmente útil cuando las variables tienen significado conjunto desde el punto de vista del negocio.
Ventajas y desventajas
| Ventajas | Desventajas |
|---|---|
| Captura relaciones complejas | Puede aumentar la dimensionalidad |
| Mejora la precisión del modelo | Incrementa el riesgo de sobreajuste |
| Facilita el aprendizaje en modelos lineales | Algunas interacciones carecen de significado |
| Puede descubrir patrones ocultos | Aumenta el tiempo de entrenamiento |
| Aprovecha mejor la información disponible | Requiere validación adicional |
Limitaciones
Aunque es una técnica muy poderosa, presenta ciertas limitaciones.
- El número de posibles interacciones crece rápidamente.
- Puede generar miles de nuevas variables.
- No todas las combinaciones son útiles.
- Algunas interacciones introducen ruido.
- Puede aumentar el consumo de memoria.
- Incrementa la complejidad del modelo.
- Requiere validación para evitar sobreajuste.
Por ello, es importante combinar esta técnica con métodos de selección de características.
Interacciones y modelos de Machine Learning
No todos los algoritmos manejan las interacciones de la misma manera.
| Algoritmo | Necesita Interacciones Explícitas |
|---|---|
| Regresión Lineal | Sí |
| Regresión Logística | Sí |
| KNN | Puede beneficiarse |
| SVM Lineal | Sí |
| Árboles de Decisión | No necesariamente |
| Random Forest | Generalmente no |
| XGBoost | Generalmente no |
| LightGBM | Generalmente no |
| Redes Neuronales | Puede aprenderlas automáticamente |
Los modelos lineales suelen beneficiarse enormemente de la creación manual de interacciones. Los algoritmos basados en árboles y redes neuronales suelen aprender muchas de estas relaciones de forma automática.
Aplicaciones en Data Science y Machine Learning
Las interacciones entre variables aparecen en prácticamente todos los sectores. Algunas aplicaciones incluyen:
- Predicción de precios inmobiliarios.
- Scoring crediticio.
- Detección de fraude.
- Marketing digital.
- Predicción de ventas.
- Sistemas de recomendación.
- Analítica turística.
- Diagnóstico médico.
- Mantenimiento predictivo.
- Recursos humanos.
- Análisis financiero.
- Comercio electrónico.
Son especialmente útiles cuando las decisiones dependen de múltiples factores simultáneamente.
Implementación básica en Python
Crear una interacción mediante multiplicación
import pandas as pd
df = pd.DataFrame({
'edad': [25, 35, 45],
'ingresos': [20000, 40000, 60000]
})
df['edad_ingresos'] = (
df['edad'] * df['ingresos']
)
print(df)
Crear una interacción mediante división
import pandas as pd
df = pd.DataFrame({
'ingresos': [3000, 5000, 7000],
'gastos': [1500, 2500, 3500]
})
df['ratio_ingresos_gastos'] = (
df['ingresos'] / df['gastos']
)
print(df)
Generar interacciones automáticamente
Scikit-Learn incluye una herramienta específica para este propósito.
from sklearn.preprocessing import PolynomialFeatures
import pandas as pd
X = pd.DataFrame({
'x1': [1, 2, 3],
'x2': [4, 5, 6]
})
poly = PolynomialFeatures(
degree=2,
interaction_only=True,
include_bias=False
)
X_interacciones = poly.fit_transform(X)
print(X_interacciones)
[[ 1. 4. 4.]
[ 2. 5. 10.]
[ 3. 6. 18.]]La tercera columna corresponde a la interacción:
x1 * x2Obtener nombres de las variables generadas
feature_names = poly.get_feature_names_out()
print(feature_names)
Resultado:
['x1' 'x2' 'x1 x2']Buenas prácticas
Para utilizar correctamente las interacciones entre variables se recomienda:
- Priorizar interacciones con significado de negocio.
- Evitar generar combinaciones indiscriminadas.
- Evaluar el impacto mediante validación cruzada.
- Controlar el crecimiento de la dimensionalidad.
- Aplicar selección de características cuando sea necesario.
- Revisar problemas de multicolinealidad.
- Documentar las variables creadas.
- Analizar la interpretabilidad de las nuevas características.
Conclusión
La interacción entre variables es una de las técnicas más valiosas dentro de la Ingeniería de Características. Su objetivo es representar relaciones conjuntas entre variables que pueden resultar invisibles cuando cada característica se analiza de forma independiente.
Al generar variables derivadas mediante productos, ratios, diferencias, sumas u otras combinaciones, es posible capturar patrones más complejos y mejorar significativamente el rendimiento de los modelos de Machine Learning. Aunque algunos algoritmos modernos pueden aprender estas relaciones automáticamente, la creación consciente de interacciones sigue siendo una herramienta fundamental para construir modelos más precisos, interpretables y alineados con la realidad del problema de negocio.