DEV Community

Jesus Oviedo Riquelme
Jesus Oviedo Riquelme

Posted on

MLZC25-16. Clasificación en Machine Learning: Predicción de Conversión de Clientes (Lead Scoring)

🎯 Objetivo del Post: Aprenderás los fundamentos de la clasificación en Machine Learning aplicándolos a un proyecto real de predicción de conversión de clientes (lead scoring), entendiendo la diferencia con regresión y por qué es crucial para los negocios.

🎯 El Problema: ¿Quién se Convertirá en Cliente?

Imagina que trabajas en el departamento de marketing de una plataforma educativa en línea. Cada día, cientos de personas visitan tu sitio web, ven cursos, descargan material gratuito, pero solo una fracción de ellas termina registrándose y pagando por un curso.

La pregunta del millón: ¿Cómo identificar a los visitantes que tienen mayor probabilidad de convertirse en clientes pagos?

Eso es exactamente lo que lograremos: crear un sistema de Machine Learning que prediga si un visitante se convertirá en cliente, permitiéndote enfocar tus esfuerzos de marketing en los prospectos más prometedores.

🔄 Clasificación vs. Regresión: Entendiendo la Diferencia

Regresión (Semana 2)

En la semana anterior, predecimos valores numéricos continuos como el precio de un auto:

  • Precio: $15,000, $23,500, $31,250
  • Valores pueden ser cualquier número en un rango
  • Pregunta típica: "¿Cuánto?"

Clasificación (Esta Semana)

Ahora predecimos categorías o clases discretas:

  • Convertido: Sí (1) o No (0)
  • Spam: Sí o No
  • Categoría de producto: Electrónica, Ropa, Hogar
  • Pregunta típica: "¿Cuál categoría?" o "¿Sí o No?"

Comparación Visual

Aspecto Regresión Clasificación
Salida Números continuos Categorías discretas
Ejemplo Precio: $25,300.50 Convertido: Sí/No
Algoritmos Regresión Lineal, Ridge Regresión Logística, Árboles
Métrica RMSE, MAE, R² Accuracy, Precision, Recall
Visualización Línea continua Frontera de decisión

💼 ¿Qué es Lead Scoring?

Lead Scoring es el proceso de asignar un valor a cada prospecto (lead) basándose en su probabilidad de convertirse en cliente.

El Ciclo de Ventas Tradicional

Visitante → Lead → Prospecto Calificado → Cliente
   (100%)    (40%)         (20%)            (5%)
Enter fullscreen mode Exit fullscreen mode

El Problema sin Lead Scoring

Desperdicias recursos contactando a todos los leads por igual
Pierdes oportunidades al no priorizar leads calientes
Frustras al equipo de ventas con leads de baja calidad

La Solución con Lead Scoring

Priorizas esfuerzos en leads con alta probabilidad de conversión
Automatizas la calificación de miles de leads
Optimizas ROI del marketing y ventas
Aceleras el ciclo de ventas

📊 El Dataset: Bank Marketing - Lead Scoring

Trabajaremos con un dataset real de marketing bancario adaptado para lead scoring en plataformas educativas.

Fuente del Dataset

wget https://raw.githubusercontent.com/alexeygrigorev/datasets/master/course_lead_scoring.csv
Enter fullscreen mode Exit fullscreen mode

O en Python:

import pandas as pd

url = "https://raw.githubusercontent.com/alexeygrigorev/datasets/master/course_lead_scoring.csv"
df = pd.read_csv(url)

print(f"Forma del dataset: {df.shape}")
print(f"Columnas: {df.columns.tolist()}")
Enter fullscreen mode Exit fullscreen mode

Estructura del Dataset

El dataset contiene 1,462 registros con 9 características:

🔍 Variables de Origen del Lead

  • lead_source: ¿Cómo llegó el prospecto?
    • social_media: Redes sociales (Facebook, LinkedIn, Instagram)
    • paid_ads: Publicidad pagada (Google Ads, Facebook Ads)
    • referral: Referencias de otros usuarios
    • events: Eventos, webinars, conferencias
    • organic_search: Búsqueda orgánica en Google

🏢 Información Demográfica y Profesional

  • industry: Industria donde trabaja
    • technology, finance, healthcare, retail, education, manufacturing, other
  • employment_status: Estado laboral
    • employed: Empleado tiempo completo
    • unemployed: Desempleado
    • self_employed: Trabajador independiente
    • student: Estudiante

💰 Variables Económicas

  • annual_income: Ingreso anual en USD
    • Rango: $30,000 - $120,000
    • Influye en la capacidad de pago

🌍 Variables Geográficas

  • location: Ubicación geográfica
    • north_america, south_america, europe, asia, africa, australia
    • Puede indicar diferencias culturales y económicas

📈 Variables de Comportamiento

  • number_of_courses_viewed: Número de cursos explorados

    • Rango: 0 - 10
    • Indicador de interés: Más cursos vistos = Mayor interés
  • interaction_count: Número de interacciones con la plataforma

    • Clics, descargas, tiempo en sitio, páginas visitadas
    • Rango: 0 - 5
    • Indicador de engagement: Más interacciones = Mayor compromiso

🎯 Variables de Scoring

  • lead_score: Puntaje de calidad del lead (0.0 - 1.0)
    • Calculado por sistema previo
    • 0.9+: Lead caliente (muy prometedor)
    • 0.7-0.9: Lead tibio (prometedor)
    • <0.7: Lead frío (menos prometedor)

✅ Variable Objetivo

  • converted: ¿Se convirtió en cliente? (NUESTRA VARIABLE A PREDECIR)
    • 1: Sí, se registró y pagó
    • 0: No, no se convirtió

Ejemplo de Registros

print(df.head())
Enter fullscreen mode Exit fullscreen mode

Salida:

  lead_source    industry  number_of_courses_viewed  annual_income  \
0    paid_ads         NaN                         1        79450.0   
1  social_media     retail                         1        46992.0   
2      events  healthcare                         5        78796.0   

  employment_status       location  interaction_count  lead_score  converted  
0        unemployed  south_america                  4        0.94          1  
1          employed  south_america                  1        0.80          0  
2        unemployed      australia                  3        0.69          1  
Enter fullscreen mode Exit fullscreen mode

🎯 ¿Por qué Este Proyecto es Ideal para Aprender Clasificación?

✅ 1. Problema de Negocio Real

  • Cada empresa necesita identificar buenos prospectos
  • Impacto directo en ingresos y ROI de marketing
  • Aplicable a múltiples industrias

✅ 2. Datos Diversos y Ricos

  • Combina datos demográficos (edad, ubicación)
  • Incluye comportamiento (interacciones, cursos vistos)
  • Tiene contexto empresarial (industria, empleo)

✅ 3. Problema Binario Simple

  • Solo dos clases: Convertido (1) o No Convertido (0)
  • Fácil de entender y visualizar
  • Perfecto para aprender los fundamentos

✅ 4. Métricas Claras de Éxito

  • Accuracy: ¿Qué porcentaje acertamos?
  • Precision: De los que predecimos como convertidos, ¿cuántos realmente lo son?
  • Recall: De todos los convertidos reales, ¿cuántos identificamos?

✅ 5. Aplicación Inmediata

  • Marketing: Enviar emails solo a leads prometedores
  • Ventas: Priorizar llamadas telefónicas
  • Personalización: Ofrecer contenido según probabilidad de conversión

🔍 Tipos de Clasificación

Clasificación Binaria (Nuestro Caso)

  • Dos clases: Sí/No, Verdadero/Falso, 0/1
  • Ejemplos:
    • ¿El email es spam?
    • ¿El cliente se convertirá?
    • ¿La transacción es fraudulenta?

Clasificación Multiclase

  • Más de dos clases mutuamente excluyentes
  • Ejemplos:
    • Categoría de producto: Electrónica, Ropa, Hogar
    • Sentimiento: Positivo, Neutral, Negativo
    • Diagnóstico médico: Enfermedad A, B, C, Sano

Clasificación Multilabel

  • Múltiples etiquetas simultáneas
  • Ejemplos:
    • Tags de películas: Acción, Comedia, Romance
    • Síntomas médicos: Fiebre, Tos, Dolor de cabeza

🧮 Regresión Logística: Nuestro Algoritmo Principal

A diferencia de la Regresión Lineal (que predice valores continuos), la Regresión Logística predice probabilidades de pertenencia a una clase.

¿Cómo Funciona?

  1. Calcula un puntaje lineal: Similar a regresión lineal
   z = w₀ + w₁×feature₁ + w₂×feature₂ + ... + wₙ×featureₙ
Enter fullscreen mode Exit fullscreen mode
  1. Aplica función sigmoide: Convierte el puntaje en probabilidad (0-1)
   probabilidad = 1 / (1 + e^(-z))
Enter fullscreen mode Exit fullscreen mode
  1. Decide la clase: Si probabilidad > 0.5 → Clase 1, sino → Clase 0

Visualización de la Función Sigmoide

Probabilidad
    1.0 |                    ___________
        |                 ,-'
        |              ,-'
    0.5 |          ,-'
        |       ,-'
        |    ,-'
    0.0 |___'
        |________________________________
              -5    0    5         z (score)
Enter fullscreen mode Exit fullscreen mode

Ventajas de la Regresión Logística

Simple y rápida de entrenar
Interpretable: Los coeficientes indican importancia
Probabilidades calibradas: Da confianza en la predicción
Funciona bien con features linealmente separables
Base sólida para entender algoritmos más complejos

📋 El Proceso que Seguiremos

1. Preparación de Datos (Post 17)

  • Cargar el dataset de lead scoring
  • Identificar y manejar valores faltantes
  • Separar variables categóricas y numéricas

2. Análisis Exploratorio (Post 18)

  • Distribución de la variable objetivo (converted)
  • Correlaciones entre variables numéricas
  • Identificar patrones en los datos

3. Feature Engineering (Post 19)

  • One-hot encoding para variables categóricas
  • Mutual Information Score para selección de features
  • Preparar datos para el modelo

4. Modelado (Post 20)

  • División de datos (Train/Val/Test: 60%/20%/20%)
  • Entrenar Regresión Logística
  • Evaluar con accuracy

5. Selección de Features (Post 21)

  • Técnica de eliminación de características
  • Identificar features menos útiles
  • Optimizar el modelo

6. Regularización (Post 22)

  • Ajustar el parámetro C
  • Prevenir overfitting
  • Encontrar el mejor modelo

🎓 Conceptos Clave que Aprenderemos

1. One-Hot Encoding

Convertir variables categóricas en numéricas:

industry: technology  industry_technology: 1, industry_finance: 0, ...
Enter fullscreen mode Exit fullscreen mode

2. Mutual Information Score

Medir cuánta información aporta una variable sobre la variable objetivo:

  • Score alto = Variable muy informativa
  • Score bajo = Variable poco útil

3. Accuracy

Porcentaje de predicciones correctas:

Accuracy = (Correctas) / (Total) = 850/1000 = 0.85 = 85%
Enter fullscreen mode Exit fullscreen mode

4. Feature Elimination

Proceso de remover features para simplificar el modelo sin perder rendimiento.

5. Regularización (Parámetro C)

Controlar la complejidad del modelo:

  • C pequeño (0.01): Más regularización, modelo más simple
  • C grande (100): Menos regularización, modelo más complejo

🌟 Aplicaciones Reales de Lead Scoring

1. E-commerce

  • Predecir qué visitantes comprarán
  • Ofrecer descuentos personalizados
  • Priorizar remarketing

2. SaaS (Software as a Service)

  • Identificar trial users que se convertirán en pagos
  • Optimizar onboarding
  • Reducir churn

3. Educación Online

  • Nuestro caso: Predecir conversión en cursos
  • Personalizar contenido gratuito
  • Ofrecer becas a prospectos calificados

4. Banca y Finanzas

  • Predecir aprobación de préstamos
  • Detectar fraudes
  • Cross-selling de productos

5. Salud

  • Predecir riesgo de enfermedades
  • Identificar pacientes que necesitan seguimiento
  • Optimizar recursos hospitalarios

📊 Expectativas Realistas

Lo que SÍ puede hacer nuestro modelo:

✅ Identificar patrones en datos históricos
✅ Predecir probabilidad de conversión para nuevos leads
✅ Ayudar a priorizar esfuerzos de marketing
✅ Mejorar con más datos y mejor feature engineering

Lo que NO puede hacer:

❌ Predecir con 100% de certeza (siempre hay incertidumbre)
❌ Capturar factores externos no incluidos en datos
❌ Funcionar bien con leads muy diferentes a los datos de entrenamiento
❌ Reemplazar completamente el juicio humano

🎯 Objetivos de Aprendizaje de Esta Semana

Al finalizar esta serie de posts sobre clasificación, serás capaz de:

  1. Entender la diferencia entre clasificación y regresión
  2. Preparar datos para problemas de clasificación
  3. Implementar regresión logística con scikit-learn
  4. Aplicar one-hot encoding a variables categóricas
  5. Evaluar modelos usando accuracy y otras métricas
  6. Seleccionar features importantes con mutual information
  7. Regular modelos para prevenir overfitting
  8. Interpretar resultados y tomar decisiones de negocio

🚀 Próximos Pasos

En los siguientes posts exploraremos:

  1. MLZC25-17 - Preparación de Datos: Limpieza y manejo de valores faltantes
  2. MLZC25-18 - Análisis Exploratorio: Correlaciones y distribuciones
  3. MLZC25-19 - Mutual Information: Selección inteligente de features
  4. MLZC25-20 - Regresión Logística: Implementación del modelo
  5. MLZC25-21 - Evaluación y Feature Elimination: Optimización del modelo
  6. MLZC25-22 - Regularización: Ajuste fino con el parámetro C

💡 Conclusión

La clasificación es uno de los problemas más comunes y útiles en Machine Learning. Desde detectar spam hasta diagnosticar enfermedades, la clasificación está en el corazón de innumerables aplicaciones que usamos a diario.

El proyecto de Lead Scoring que desarrollaremos te dará las herramientas fundamentales para abordar cualquier problema de clasificación binaria. Los conceptos que aprenderás aquí son la base para algoritmos más avanzados como Random Forests, Gradient Boosting y Redes Neuronales.

Recuerda: No estamos prediciendo el futuro con certeza, estamos calculando probabilidades basadas en patrones históricos. Nuestro objetivo es ayudar a tomar mejores decisiones, no decisiones perfectas.

En el próximo post, comenzaremos con la preparación de datos, el primer paso crucial en cualquier proyecto de Machine Learning.


¿Tienes experiencia con lead scoring en tu trabajo? ¿Qué otros problemas de clasificación te gustaría resolver? ¡Comparte en los comentarios!

Top comments (0)