English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

invitado
1 / ?

¿Qué es la Ciencia de Datos? [BLOCK_TYPE SECTION/STEP]

La ciencia de datos no es solo aprendizaje automático. No es solo estadística. No es solo programación. [BLOCK_TYPE SECTION/STEP]

La ciencia de datos es la disciplina de extraer conocimiento útil de los datos. La mayor parte de ese trabajo no es glamuroso: es limpiar hojas de cálculo caóticas,提出正确的问题,并将结果传达给对你的代码不感兴趣的人。 [BLOCK_TYPE SECTION/STEP]

Data Science Pipeline [BLOCK_TYPE SECTION/STEP]

El pipeline típico de ciencia de datos se ve así:

1. Recopilar: reunir datos en bruto de bases de datos, APIs, CSVs o web scraping

2. Limpiar: manejar valores faltantes, corregir tipos, eliminar duplicados

3. Explorar: visualizar distribuciones, encontrar patrones, hacer preguntas

4. Ingeniería: crear nuevas características que ayuden a los modelos a aprender

5. Modelar: entrenar algoritmos, evaluar rendimiento, iterar

6. Comunicar: presentar hallazgos a los stakeholders que toman decisiones

Si alguna vez has usado tablas dinámicas de Excel, formato condicional o BUSCARV, ya has realizado los pasos 1-3. Esta lección conecta esa experiencia con el flujo de trabajo basado en Python que se usa en la industria.

Calentamiento

Tu Experiencia con Datos

Todos hemos trabajado con datos en alguna forma: una hoja de cálculo de presupuesto, un rastreador de calificaciones, una app de fitness, incluso una lista de reproducción con conteos de reproducciones.

Describe un momento en el que trabajaste con datos en una hoja de cálculo o app. ¿Qué intentabas averiguar, y te dio la respuesta el dato?

Basura que Entra, Basura que Sale

Por qué es importante la limpieza

Los científicos de datos dedican entre el 60-80% de su tiempo a limpiar datos. Esto no es una exageración: es un hallazgo consistente en encuestas de la industria.

La razón es simple: garbage in, garbage out. Si tus datos tienen errores, valores faltantes o formatos inconsistentes, todos los análisis construidos sobre ellos serán incorrectos. Un modelo perfecto entrenado sobre datos sucios produce respuestas erróneas con alta confianza.


Problemas comunes de datos

- Valores faltantes: las celdas están en blanco. ¿Los datos no se fueron a recolectar, o el valor es realmente cero? Estas son dos situaciones distintas que requieren un manejo diferente.

- Tipos de datos incorrectos: una columna de números almacenada como texto, fechas en formatos inconsistentes (01/02/2024: ¿es el 2 de enero o el 1 de febrero?)

- Valores atípicos: una columna de salarios tiene una entrada de $1,000,000,000. ¿Es real, o es un error de tipeo? En cualquier caso, distorsionará tus promedios.

- Duplicados: el mismo registro aparece dos veces porque dos sistemas se fusionaron de forma imperfecta

- Codificación categórica: una columna dice 'Yes', 'yes', 'Y', 'TRUE' y '1'. Todos significan lo mismo, pero tu computadora no lo sabe.


En pandas (la biblioteca estándar de Python para datos), se manejan con métodos como dropna(), fillna(), astype() y drop_duplicates(). Pero lo difícil no es el código: es decidir qué hacer con cada problema.

Problemas Comunes de Datos

Decisiones de Limpieza

Decidir Qué Hacer

Aquí tienes un escenario real. Tienes un conjunto de datos de 10,000 registros de clientes. La columna 'age' tiene 500 valores missing.

Tus opciones:

- Eliminar las filas: elimina los 500 registros. Es simple, pero pierdes el 5% de tus datos. Si esos 500 clientes comparten un rasgo (tal vez omitieron el campo de edad porque son conscientes de la privacidad), eliminarlos introduce sesgo.

- Rellenar con la media: reemplaza los espacios en blanco con la edad promedio. Es rápido, pero reduce artificialmente la varianza de la columna de edad.

- Rellenar con la mediana: mejor que la media si la distribución de edades es asimétrica (unos pocos clientes muy viejos o muy jóvenes que tiran del promedio).

- Usar una bandera: crea una nueva columna llamada 'age_missing' (1 o 0) y rellena la original con la mediana. Ahora tu modelo puede aprender si la ausencia de datos es informative.

No hay una respuesta universal correcta. La elección depende de por qué faltan los datos y qué planeas hacer con ellos.

Tienes un conjunto de datos de salarios de empleados. 200 de 5.000 registros tienen valores de salario ausentes. Observas que la mayoría de los valores ausentes son de ejecutivos. ¿Eliminarías esas filas, rellenarías con la media, o harías otra cosa? Explica tu razonamiento.

Haciendo las Preguntas Correctas

Análisis Exploratorio de Datos (EDA)

Antes de construir cualquier modelo, necesitas entender tus datos. El EDA es el proceso de resumir, visualizar y cuestionar un conjunto de datos para encontrar patrones, anomalías y relaciones.


Herramientas Clave

- Histogramas: muestran la distribución de una sola variable. ¿Es en forma de campana? ¿Sesgada? ¿Bimodal (dos picos)? Un histograma de ingresos siempre está sesgado a la derecha porque pocas personas ganan mucho más que la mayoría.

- Diagramas de dispersión: muestran la relación entre dos variables. ¿Las personas más altas pesan más? ¿Más tiempo de estudio se correlaciona con mejores calificaciones? El patrón (o la ausencia de patrón) te indica si existe una relación.

- Correlación: un número entre -1 y +1 que mide la asociación lineal. +1 significa una relación positiva perfecta, -1 significa una relación negativa perfecta, 0 significa una relación线性 sin relación lineal. Pero la correlación no implica causalidad: las ventas de helado y las muertes por ahogamiento son correlacionadas porque ambas aumentan en verano.

- Estadísticas descriptivas: media, mediana, desviación estándar, mínimo, máximo. En pandas: df.describe() te gibt todas estas en una línea.


La Habilidad Real

Las herramientas son fáciles de aprender. La parte difícil es hacer las preguntas correctas. Mala pregunta: '¿Qué dice la data?' Buena pregunta: '¿Los clientes que contactan al soporte dentro de la primera semana tienen tasas de retención más altas?'

EDA Tools

Trampa de la Correlación

Correlación vs. Causalidad

Este es el concepto más importante en la alfabetización de datos. Dos variables pueden estar fuertemente correlacionadas sin que una cause la otra.

Ejemplos clásicos:

- Las ciudades con más bomberos tienen más incendios. (Las ciudades más grandes tienen ambos.)

- Los estudiantes que desayunan obtienen mejores calificaciones. (Tal vez las familias con más recursos son más propensas a proveer desayuno Y apoyo académico.)

- Los países que consumen más chocolate ganan más Premios Nobel. (Ambos se correlacionan con la riqueza nacional.)

El factor oculto se llama una variable de confusión: una tercera variable que impulsa ambas que estás analizando.

Correlation vs. Causation

Una empresa descubre que los empleados que usan el gimnasio de la oficina tienen un 30% menos de días de enfermedad. El CEO quiere que todos los empleados usen el gimnasio. ¿Qué está mal en este razonamiento? ¿Qué variables de confusión podrían explicar la correlación?

Creando Variables Útiles

¿Qué es la Ingeniería de Características?

Una característica es una variable de entrada que un modelo utiliza para hacer predicciones. La ingeniería de características es el arte de crear nuevas características a partir de datos brutos para ayudar a los modelos a aprender patrones que de otra manera no podrían ver.

Los datos brutos rara vez llegan en la forma que los modelos necesitan. Consideremos un conjunto de datos con una columna de 'fecha de nacimiento'. Un modelo no puede hacer mucho con fechas crudas. Pero si creas una característica de 'edad' a partir de ella,那么 el modelo puede aprender patrones basados en la edad.


Técnicas Comunes

- Normalización: escalar números a un rango común (0 a 1, o media=0 y desviación estándar=1). Sin esto, una característica medida en miles (salario) dominará a una característica medida en dígitos individuales (años de experiencia).

- Codificación one-hot: convertir variables categóricas en columnas binarias. Una columna 'color' con valores [red, blue, green] se convierte en tres columnas: 'color_red', 'color_blue', 'color_green', cada una con 0 o 1.

- Binning: convertir una variable continua en categorías. La edad 0-17 se convierte en 'minor', 18-64 en 'adult', 65+ en 'senior'. Esto ayuda cuando la relación no es lineal.

- Características de interacción: multiplicar dos características entre sí. 'Pies cuadrados por número de baños' podría predecir el precio de una casa mejor que cualquiera de las dos solas.

- Conocimiento del dominio: la técnica más poderosa. Un médico que crea características para un modelo médico sabe qué valores de laboratorio importan. Un especialista en marketing sabe que 'días desde la última compra' es比 'fecha de compra' más útil. Ningún algoritmo puede reemplazar esto.

Feature Engineering Techniques

Práctica de características

Aplicando ingeniería de características

Imagina que estás construyendo un modelo para predecir qué clientes cancelarán su suscripción de streaming el próximo mes. Tus datos crudos incluyen:

- Fecha de creación de la cuenta

- Fecha del último inicio de sesión

- Número de series vistas el mes pasado

- Monto del pago mensual

- Tickets de soporte al cliente presentados

- País

A partir de los datos crudos enumerados arriba, propone al menos tres nuevas características que podrías ingeniar. Para cada una, explica qué captura y por qué podría ayudar a predecir la cancelación.

División de Entrenamiento/Prueba [BLOCK_TYPE modeling/train_test]

¿Por qué dividir tus datos

La regla más importante en el modelado: nunca evalúes un modelo con los mismos datos con los que lo entrenaste.

Si lo haces, el modelo puede simplemente memorizar las respuestas. Obtendrá una puntuación perfecta en los datos de entrenamiento, pero fallará en datos nuevos e invisibles. Esto se llama sobreajuste: el modelo aprendió el ruido de tu conjunto de datos específico en lugar de los patrones reales.

La práctica estándar es dividir tus datos:

- Conjunto de entrenamiento (típicamente 70-80%): el modelo aprende de este

- Conjunto de prueba (típicamente 20-30%): se reserva, se usa solo para evaluar el modelo final

En scikit-learn: X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)


Algoritmos comunes

- Regresión lineal: dibuja la línea recta que mejor se ajusta a los datos. Simple, interpretable, funciona cuando la relación es aproximadamente lineal. Predice un número (precio, temperatura, puntuación).

- Árboles de decisión: un diagrama de flujo de preguntas sí/no. Fácil de entender y explicar. Propenso al sobreajuste a menos que se poden o se limite su profundidad.

- Bosques aleatorios: muchos árboles de decisión que votan juntos. Más precisos que un solo árbol, menos propensos al sobreajuste, pero más difíciles de explicar.


Sobreajuste vs. Subajuste

- Sobreajuste: el modelo es demasiado complejo. Memoriza los datos de entrenamiento, incluyendo ruido. Alta دقة en datos de entrenamiento, baja precisión en datos de prueba.

- Subajuste: el modelo es demasiado simple. No يستطيع التقاط los patrones reales. Baja precisión en ambos datos de entrenamiento y prueba.

El objetivo es el punto óptimo entre ambos.

División Train/Test y Tradeoff Sesgo-Varianza [BLOCK_TYPE modeling/evaluation]

Métricas de Evaluación [BLOCK_TYPE modeling/evaluation]

¿Cómo Saber Si Tu Modelo Es Bueno?
[BLOCK_TYPE modeling/evaluation]

La precisión sola puede ser engañosa. Si el 95% de los correos no son spam, un modelo que siempre dice 'no es spam' tiene un 95% de precisión: pero es completamente inútil. [BLOCK_TYPE modeling/evaluation]

Métricas clave: [BLOCK_TYPE modeling/evaluation]

- Precisión: porcentaje de predicciones correctas. Útil cuando las clases están equilibradas. [BLOCK_TYPE modeling/evaluation]

- Precisión Positiva: de todas las cosas que el modelo marcó como positivas, ¿cuántas realmente lo eran? Una alta precisión positiva significa pocas falsas alarmas. [BLOCK_TYPE modeling/evaluation]

- Exhaustividad: de todos los positivos reales, ¿cuántos detectó el modelo? Una alta exhaustividad significa pocos casos perdidos.

- Puntuación F1: la media armónica de la precisión y la exhaustividad. Útil cuando necesitas equilibrar ambas.

- RMSE (Error Cuadrático Medio): para regresión (predicción de números). ¿Qué tan lejos están las predicciones en promedio?

Qué métrica importa más depende del problema. Para la detección de cáncer, la exhaustividad importa más: no quieres perder un caso. Para el filtrado de spam, la precisión importa más: no quieres eliminar un correo real.

Métricas de Evaluación y Matriz de Confusión

Estás construyendo un modelo para detectar transacciones fraudulentas con tarjetas de crédito. Solo el 0.1% de las transacciones son realmente fraudulentas. Si tu modelo predice todas las transacciones como legítimas, ¿cuál es su exactitud? ¿Por qué la exactitud es una mala métrica aquí, y qué métrica usarías en su lugar?

Analista de datos vs. Científico de datos vs. Ingeniero de ML

Tres roles distintos

El campo de los datos tiene tres trayectorias profesionales principales, y requieren habilidades diferentes.


Analista de datos

- Focus: responder preguntas de negocio con datos existentes

- Tools: SQL, Excel, Tableau, Python o R básico

- Day-to-day: dashboards, reportes, análisis de pruebas A/B, presentaciones a stakeholders

- Entry path: a menudo el más accesible. Muchos analistas comienzan sin un título en CS.


Data Scientist

- Focus: construir modelos predictivos y encontrar patrones en datos complejos

- Tools: Python (pandas, scikit-learn, matplotlib), estadística, SQL, Jupyter notebooks

- Day-to-day: EDA, feature engineering, model building, experimentation

- Entry path: typically requires statistics or quantitative background. Bootcamps & self-study are viable.


Machine Learning Engineer

- Focus: deploying & scaling models in production systems

- Tools: Python, TensorFlow/PyTorch, Docker, cloud platforms (AWS/GCP), APIs

- Day-to-day: model optimization, pipeline infrastructure, monitoring production models

- Entry path: usually requires strong software engineering skills plus ML knowledge.


Creando un Portafolio

Los gerentes de contratación se interesan por lo que puedes hacer, no solo por lo que estudiaste. Un portafolio de 3-5 proyectos sólidos en GitHub es más importante que las certificaciones. Los buenos proyectos usan datasets reales (no de juguete), incluyen documentación clara y muestran el pipeline completo: desde datos desordenados hasta información actionable.

Rutas Profesionales en Datos

Tus Próximos Pasos

Hacia Dónde Ir Desde Aquí

Las herramientas del oficio son gratuitas y accesibles:

- pandas: la biblioteca estándar de Python para manipulación de datos

- matplotlib / seaborn: bibliotecas de visualización

- scikit-learn: la herramienta principal para el aprendizaje automático clásico

- Jupyter notebooks: entornos de codificación interactivos donde puedes mezclar código, resultados y notas

- Kaggle: conjuntos de datos gratuitos, competiciones y una comunidad de profesionales

Comienza con un conjunto de datos real que te interese. Descárgalo, límpialo, explóralo y trata de responder una pregunta. Ese único proyecto te enseñará más que cualquier curso.

Basado en lo que aprendiste en esta lección, ¿qué rol de los tres (analista de datos, científico de datos o ingeniero de ML) te interesa más? ¿Qué es un paso concreto que podrías dar esta semana para comenzar a construir habilidades para ese rol?