🎯 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%)
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
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()}")
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())
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
🎯 ¿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?
- Calcula un puntaje lineal: Similar a regresión lineal
z = w₀ + w₁×feature₁ + w₂×feature₂ + ... + wₙ×featureₙ
- Aplica función sigmoide: Convierte el puntaje en probabilidad (0-1)
probabilidad = 1 / (1 + e^(-z))
- 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)
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, ...
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%
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:
- ✅ Entender la diferencia entre clasificación y regresión
- ✅ Preparar datos para problemas de clasificación
- ✅ Implementar regresión logística con scikit-learn
- ✅ Aplicar one-hot encoding a variables categóricas
- ✅ Evaluar modelos usando accuracy y otras métricas
- ✅ Seleccionar features importantes con mutual information
- ✅ Regular modelos para prevenir overfitting
- ✅ Interpretar resultados y tomar decisiones de negocio
🚀 Próximos Pasos
En los siguientes posts exploraremos:
- MLZC25-17 - Preparación de Datos: Limpieza y manejo de valores faltantes
- MLZC25-18 - Análisis Exploratorio: Correlaciones y distribuciones
- MLZC25-19 - Mutual Information: Selección inteligente de features
- MLZC25-20 - Regresión Logística: Implementación del modelo
- MLZC25-21 - Evaluación y Feature Elimination: Optimización del modelo
- 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)