Data Science

Repositorio personal de conocimiento sobre Data Science, Machine Learning y MLOps: una colección de apuntes, explicaciones y artículos que utilizo para consultar conceptos, resolver dudas y refrescar conocimientos cuando trabajo con datos.

Fundamentos de ciencia de datos
└── Metodología en ciencia de datos
                  ├── Business Understanding (Comprensión del negocio)
                  ├── Analytic Approach (Enfoque Analítico)
                  ├── Data Requirements (Requisitos de Datos)
                  ├── Data Collection (Recolección de Datos)
                  ├── Data Understanding (Comprensión de los Datos)
                  ├── Data Preparation (Preparación de los Datos)
                  ├── Modeling (Modelado)
                  ├── Evaluation (Evaluación)
                  ├── Deployment (Despliegue)
                  └── Feedback (Retroalimentación)
└── Comunicación de Datos
         ├── Estructura de un informe de análisis de datos
         ├── Cómo redactar informes de análisis de datos
         └── Análisis de audiencia en la redacción

Preparación de datos
└── Limpieza de Datos
         ├── Introducción a la Limpieza de Datos
         ├── Calidad de Datos (Data Quality)
         ├── Perfilado de Datos (Data Profiling)
         ├── Validación de Datos
         ├── Tratamiento de Valores Nulos
                  ├── Imputación Simple
                  ├── Imputación por KNN
                  └── Imputación Múltiple (MICE)
         ├── Tratamiento de Datos Duplicados
         ├── Deduplicación de Datos
         ├── Detección y Tratamiento de Outlier
                  ├── Introducción a la Detección y Tratamiento de Outliers
                  ├── Detección con Métodos Estadísticos
                           ├── Método del Rango Intercuartílico (IQR)
                           ├── Z-Score
                           ├── Modified Z-Score
                           ├── Percentiles y Cuantiles
                           └── Regla de las Tres Sigmas
                  ├── Métodos Basados en Distancia
                           ├── Distancia de Mahalanobis
                           └── k-Nearest Neighbors (kNN Outlier Detection)
                  ├── Métodos Basados en Densidad
                           ├── Local Outlier Factor (LOF)
                           └── DBSCAN para detección de anomalías
                  ├── Métodos Basados en Machine Learning
                           ├── Isolation Forest
                           ├── One-Class SVM
                           └── Autoencoders para detección de anomalías
                  ├── Tratamiento de Outliers
                           ├── Eliminación
                           ├── Winsorización (Winsorization)
                           ├── Clipping
                           ├── Transformaciones (Log, Box-Cox, Yeo-Johnson)
                           ├── Imputación de valores extremos
                           └── Robust Scaling
         ├── Corrección de Inconsistencias
         ├── Tratamiento de Errores Tipográficos
         ├── Estandarización de Valores
         ├── Revisión y Corrección de Formatos
         ├── Conversión de Tipos de Datos
         ├── Limpieza de Datos Categóricos
         ├── Limpieza de Datos Temporales
         └── Automatización de Procesos de Limpieza
└── Integración y Consolidación de Datos
         ├── Data Joining (Unión de Datos)
                  ├── Inner Join
                  ├── Left Join
                  ├── Right Join
                  └── Full Join
         ├── Data Integration (Integración de Datos)
         ├── Data Aggregation (Agregación de Datos)
         └── Consolidación de Fuentes de Datos

Transformación de Datos
└── Tratamiento de datos sesgados (Power Transformations)
         ├── Introducción al Tratamiento de datos sesgados
         ├── Transformación Logarítmica
         ├── Raíz Cuadrada
         ├── Raíz Cúbica
         ├── Recíproca
         ├── Box-Cox
         └── Yeo-Johnson
└── Escalado de datos (Feature Scaling)
         ├── Min-Max Scaling
         ├── Standard Scaling(Z-Score)
         ├── Robust Scaling
         ├── MaxAbs Scaling
         ├── Unit Vector Scaling (Normalization)
└── Normalización
         ├── Quantile Transformation
         └── Rank Gaussian Transformation
└── Transformaciones Basadas en Rangos (Rank Transformations)
         ├── Ranking Simple
         └── Percentiles
└── Transformaciones Trigonométricas o Cíclicas
         └── Transformación Seno-Coseno
└── Discretización (Binning)
         ├── Equal Width
         └── Equal Frequency
└── Codificación de Variables Categóricas
         ├── One-Hot Encoding
         ├── Label Encoding
         ├── Target Encoding
         ├── Ordinal Encoding
         ├── Frequency Encoding
         ├── Count Encoding
         └── Binary Encoding
└── Reducción de Dimensionalidad
         ├── Introducción a la Reducción de la Dimensionalidad
         ├── Maldición de la Dimensionalidad
         ├── Técnicas Supervisadas vs No Supervisadas
         ├── Principal Component Analysis (PCA)
         ├── Linear Discriminant Analysis (LDA)
         ├── Independent Component Analysis(ICA)
         ├── t-SNE (t-Distributed Stochastic Neighbor Embedding)
         ├──Truncated SVD
         └── UMAP (Uniform Manifold Approximation and Projection)

└── Exploratory Data Analysis (EDA)
         ├── Introducción al EDA
         ├── Estadísticas Descriptivas
         ├── Análisis Univariante
         ├── Análisis Bivariante
         ├── Análisis Multivariante
         ├── Distribuciones de Variables
         ├── Correlaciones
         ├── Visualización de Datos
         ├── Detección de Outliers
         └── Informe Exploratorio de Datos

Ingeniería de Características
└── Introducción a la Ingeniería de Características
└── Características Polinomiales
└── Características de Interacción
         ├── Interacciones entre Variables
         ├── Productos Cruzados (Feature Crossing)
         └── Interacciones Polinomiales
└── Variables Derivadas
         ├── Introducción a las Variables Derivadas
         ├── Ratios
         ├── Tasas de Crecimiento
         ├── Índices Compuestos
         └── Diferencias, Porcentajes y Márgenes
└── Variables Temporales
         ├── Año
         ├── Mes
         ├── Semana
         ├── Día
         ├── Día de la Semana
         ├── Trimestre
         ├── Variables Lag
         ├── Variables Lead
         ├── Ventanas Móviles (Rolling Features)
         ├── Expanding Window Features
         └── Time Since Event Features
└── Variables Agregadas
         ├── Conteos por Grupo
         ├── Sumas por Grupo
         ├── Medias por Grupo
         ├── Máximos y Mínimos por Grupo
         ├── Estadísticas Agrupadas
         ├── Aggregation Features
         └── GroupBy Feature Engineering

Selección de Características (Feature Selection)
         ├── Introducción a la Selección de Características
         ├── Filter Methods
         ├── Wrapper Methods
                  ├── RFECV
                  └── Exhaustive Feature Selection
         ├── Embedded Methods
                  ├── Ridge como Método de Selección
                  ├── Elastic Net como Método de Selección
                  ├── Random Forest Feature Importance
                  └── XGBoost Feature Importance
         ├── Variance Threshold
         ├── Correlation Filter
         ├── SelectKBest
         ├── Mutual Information
         ├── Chi-Square Test
         ├── ANOVA F-Test
         ├── Recursive Feature Elimination (RFE)
         ├── Sequential Feature Selection
         ├── Lasso como Método de Selección
         ├── Importancia de Variables en Árboles
         └── Permutation Importance

    └── Inferencia Causal
         ├── Introducción a la Inferencia Causal
         ├── Correlación vs Causalidad
         ├── Variables Confusoras
         ├── DAGs (Directed Acyclic Graphs)
         ├── Contrafactuales
         ├── Propensity Score Matching
         ├── Difference in Differences
         ├── Instrumental Variables
         ├── Regression Discontinuity Design (RDD)
         └── A/B Testing

Machine Learning
└── Fundamentos
         ├── Introducción a Machine Learning
         ├── Train/Test Split
         ├── Overfitting y Underfitting
         ├── Bias-Variance Tradeoff
         ├── Tipos de Aprendizaje Automático
         ├── Pipeline de Machine Learning
         └── Feature Store y Dataset Splits

└── Validación y Optimización
         ├── Introducción a la Validación de Modelos
         ├── Cross Validation
         ├── K-Fold Cross Validation
         ├── Stratified K-Fold
         ├── Leave One Out Cross Validation
         ├── Grid Search
         ├── Random Search
         ├── Bayesian Optimization
         ├── Hyperparameter Tuning
         ├── Early Stopping
         ├── Nested Cross Validation
         └── Optuna

└── Experimentación
         ├── Introducción a la Experimentación
         ├── Diseño Experimental
         ├── Hipótesis Estadísticas
         ├── A/B Testing
         ├── Test T
         ├── Chi-Square Test
         ├── ANOVA
         └── Interpretación de Resultados

└── Desbalanceo de Clases
         ├── Introducción al Desbalanceo
         ├── Oversampling
         ├── Undersampling
         ├── SMOTE
         ├── Borderline-SMOTE
         ├── ADASYN
         └── Class Weights

└── Supervised Learning
         ├── ¿Interpretar o predecir?
         ├── Pilares del Aprendizaje Supervisado: Regresión y Clasificación
         └── Regresión Lineal
                  ├── Introducción a la Regresión Lineal
                  ├── Mean Squared Error (MSE)
                  ├── Mean Absolute Error (MAE)
                  ├── Root Mean Squared Error (RMSE)
                  ├── Coefficient of Determination (R² Score)
                  ├── Ridge Regression
                  ├── Lasso Regression
                  ├── Regresión Polinómica
                  ├── Regresión Ridge vs Lasso vs Elastic Net
                  ├── Supuestos de la Regresión Lineal
                  ├── Elastic Net
         └── Regresión Basada en Árboles
                  ├── Introducción a los Árboles de Regresión
                  ├── Árboles de Regresión
                  ├── Random Forest Regressor
                  ├── Gradient Boosting Regressor
                  ├── XGBoost Regressor
                  ├── LightGBM Regressor
                  ├── CatBoost Regressor
                  ├── Comparativa de Algoritmos de Regresión
                  └── Interpretación de Modelos de Regresión Basados en Árboles
         └── Clasificacion
                  ├── Introducción a la Clasificación
                           ├── Clasificación Binaria
                           ├── Clasificación Multiclase
                           ├── Clasificación Multietiqueta
                           └── Desbalanceo en Problemas de Clasificación
                  ├── Accuracy
                  ├── Precision
                  ├── Recall
                  ├── F1 Score
                  ├── Matriz de Confusión
                  ├── Curva ROC
                  ├── ROC-AUC
                  ├── Curva Precision-Recall
                  ├── Log Loss
                  ├── Cohen’s Kappa
                  ├── Balanced Accuracy
                  ├── Regresión Logística
                  ├── KNN
                  ├── Árboles de Decisión
                  ├── SVM
                  └── Naive Bayes
         └── Ensemble Learning
                  ├── Bagging
                  ├── Random Forest
                  ├── Boosting
                  ├── Gradient Boosting
                  ├── XGBoost
                  ├── LightGBM
                  ├── CatBoost
                  └── AdaBoost
└── Unsupervised Learning
         └── Introducción al Aprendizaje No Supervisado
         └── Clustering
                  ├── K-Means
                  ├── DBSCAN
                  ├── Hierarchical Clustering
                  ├── Agglomerative Clustering
                  └── Gaussian Mixture Models
         └── Evaluación de Clustering
                  ├── Silhouette Score
                  ├── Davies-Bouldin Index
                  ├── Calinski-Harabasz Index
                  └── Elbow Method
         └── Detección de Anomalías
                  ├── Isolation Forest
                  ├── Local Outlier Factor
                  └── One-Class SVM
         └── Reglas de Asociación
                  ├── Apriori
                  └── FP-Growth

└── Sistemas de Recomendación
         ├── Introducción a los Sistemas de Recomendación
         ├── Tipos de Sistemas de Recomendación
                  ├── Filtrado Colaborativo
                  ├── Filtrado Basado en Contenido
                  ├── Sistemas Híbridos
                  └── Sistemas Basados en Conocimiento
         ├── Datos en Sistemas de Recomendación
                  ├── Matriz Usuario-Item
                  ├── Feedback Explícito vs Implícito
                  ├── Cold Start
                  ├── Sparsity
                  └── Popularity Bias
         ├── Medidas de Similitud
                  ├── Introducción a las Medidas de Similitud
                  ├── Similitud Coseno
                  ├── Similitud de Pearson
                  ├── Similitud de Jaccard
                  ├── Distancia Manhattan
                  └── Distancia Euclidiana
         ├── Algoritmos de Recomendación
                  ├── User-Based Collaborative Filtering
                  ├── Item-Based Collaborative Filtering
                  ├── Singular Value Decomposition (SVD)
                  ├── Alternating Least Squares (ALS)
                  └── Matrix Factorization
         ├── Evaluación de Recomendadores
                  ├── Introducción a la Evaluación
                  ├── Precision@K
                  ├── Recall@K
                  ├── MAP
                  ├── NDCG
                  ├── Cobertura
                  ├── Diversidad
                  └── Novedad (Novelty)
         └── Implementación de un Sistema de Recomendación

└── Series Temporales
         ├── Introducción a Series Temporales
         ├── Tendencia
         ├── Estacionalidad
         ├── Estacionariedad
         ├── Test Dickey-Fuller (ADF)
         ├── ACF y PACF
         ├── Holt-Winters
         ├── Facebook Prophet
         ├── LSTM para Series Temporales
         ├── Validación Walk Forward
         ├── Autocorrelación
         ├── ARIMA
         ├── SARIMA
         ├── Prophet
         ├── Forecasting con Machine Learning
         └── Métricas para Forecasting

└── Deep Learning
         ├── Introducción a Deep Learning
         ├── Perceptrón
         ├── Redes Neuronales Artificiales (ANN)
         ├── Redes Convolucionales (CNN)
         ├── Redes Recurrentes (RNN)
         ├── LSTM
         ├── GRU
         ├── Transformers
         ├── Funciones de Activación
                  ├── Sigmoid
                  ├── Tanh
                  ├── ReLU
                  ├── Leaky ReLU
                  └── Softmax
         ├── Forward Propagation
         ├── Backpropagation
         ├── Funciones de Pérdida
         ├── Optimizadores
                  ├── Gradient Descent
                  ├── SGD
                  ├── RMSprop
                  └── Adam
         ├── Regularización en Redes Neuronales
                  ├── Dropout
                  ├── Batch Normalization
                  └── Early Stopping
         └── TensorFlow y Keras

└── Computer Vision
         ├── Introducción a Computer Vision
         ├── Procesamiento de Imágenes
         ├── OpenCV
         ├── Convolutional Neural Networks (CNN)
         ├── Transfer Learning
         ├── Object Detection
         ├── YOLO
         ├── Segmentación de Imágenes
         └── Image Classification

└── Procesamiento del Lenguaje Natural (NLP)
         ├── Introducción al NLP
         ├── Tokenización
         ├── Stopwords
         ├── Stemming
         ├── Lemmatization
         ├── Bag of Words (BoW)
         ├── TF-IDF
         ├── Word Embeddings
                  ├── Word2Vec
                  ├── GloVe
                  └── FastText
         ├── Transformers
         ├── BERT
         ├── Análisis de Sentimiento
         ├── Clasificación de Texto
         ├── Named Entity Recognition (NER)
         ├── Topic Modeling
         ├── Text Classification
         ├── Text Summarization
         └── Question Answering

└── Reinforcement Learning
         ├── Introducción al Reinforcement Learning
         ├── Agente, Entorno y Recompensa
         ├── Markov Decision Process (MDP)
         ├── Política y Función de Valor
         ├── Q-Learning
         ├── SARSA
         ├── Deep Q-Network (DQN)
         └── Aplicaciones del Reinforcement Learning

Interpretabilidad de Modelos
         ├── Introducción a la Interpretabilidad
         ├── Importancia de Variables
         ├── Permutation Importance
         ├── Partial Dependence Plots (PDP)
         ├── SHAP
         ├── LIME
         └── Feature Importance en Árboles

MLOps
         ├── Introducción a MLOps
         ├── Pipeline de Machine Learning
         ├── Versionado de Datos
         ├── Versionado de Modelos
         ├── MLflow
         ├── Despliegue de Modelos
         ├── CI/CD para Machine Learning
         ├── Model Registry
         ├── Feature Store
         ├── Model Monitoring
         ├── Drift de Datos
         └── Drift de Concepto

Data Engineering
         ├── Introducción a Data Engineering
         ├── ETL
         ├── ELT
         ├── Data Warehouse
         ├── Data Lake
         ├── Data Lakehouse
         ├── Modelado Dimensional
         ├── Esquema Estrella
         ├── Esquema Copo de Nieve
         ├── Apache Airflow
         ├── Apache Spark
         ├── Apache Kafka
         ├── Orquestación de Datos
         ├── Pipelines de Datos
         ├── Data Modeling
         ├── Slowly Changing Dimensions (SCD)
         ├── Delta Lake
         ├── Apache Parquet
         └── Medallion Architecture