PyTimeTK is a Python time series toolkit (port of R's timetk) providing a unified API for time series analysis, feature engineering, visualization, anomaly detection, and financial technical indicators. It supports pandas, Polars, and cuDF backends via a clean engine abstraction layer, enabling transparent multi-engine execution. The library is structured around modular subpackages: core (summarization, padding, future frames), feature_engineering (lags, rolling, expanding, Fourier, wavelet, spline, holiday signatures), finance (MACD, RSI, Bollinger Bands, regime detection, risk metrics), plot (Plotly/Plotnine/Matplotlib), datasets, cross-validation, and a beta FeatureStore with MLflow integration. All functions follow a consistent augment_* pattern, register as DataFrame/GroupBy methods via pandas_flavor, and expose a .tk accessor for Polars. The codebase demonstrates strong engineering practices: extensive unit tests, CI workflows, versioned dependencies, and a clear API surface.
Qlib is an open-source, AI-oriented quantitative investment platform developed by Microsoft. It covers the full pipeline for quantitative research and trading: data ingestion and feature engineering (Alpha158, Alpha360, high-frequency), model training (traditional ML like LightGBM/XGBoost, deep learning in PyTorch including LSTM, GRU, Transformer, GATs, and reinforcement learning), backtesting with realistic costs and slippage, portfolio optimization, and online serving for production-like deployment. The platform is highly modular and config-driven, with a core library (qlib) and a separate contrib layer for community extensions. It includes a CLI (qrun) for running full workflows from YAML configs, extensive experiment tracking via MLflow, and a rich set of evaluation metrics. While primarily a library/application, it also functions as a research benchmark suite with many example models and data collectors for global markets. The codebase is active and well-maintained, though some components (e.g., TFT model, older RL code) show signs of technical drift due to dependency version locks and deprecated patterns.
tsfresh is a Python library for automatic time series feature extraction and selection, grounded in the FRESH (FeatuRe Extraction based on Scalable Hypothesis tests) algorithm. It provides over 700 feature calculators spanning statistics, signal processing, and nonlinear dynamics, along with hypothesis-testing-based feature selection using Benjamini-Hochberg or Benjamini-Yekutieli FDR control. The library is designed for integration into scikit-learn pipelines via transformers like FeatureAugmenter and RelevantFeatureAugmenter, and supports parallel/distributed execution via multiprocessing, Dask, or Spark. While primarily a software library (application), it has strong research roots with academic publications and example notebooks demonstrating classification, regression, and forecasting tasks. The codebase is well-structured with clean abstractions for data input normalization (adapters), pluggable parallelization (distributors), and feature settings reconstruction, making it a robust tool for time series feature engineering in production ML workflows.
Triage is a Python framework for end-to-end machine learning workflows focused on temporal prediction problems, particularly in social good domains. It provides modular components for feature generation (architect), model training/evaluation (catwalk), experiment orchestration, model selection (audition), and post-modeling analysis. The system uses PostgreSQL for storing experiment metadata, feature matrices, and model predictions, with SQLAlchemy ORM and Alembic migrations managing the schema. Key entry points include the CLI (`triage experiment`, `triage audition`) and `manage.py` for development tasks. The architecture emphasizes reproducibility through configuration-driven experiments, temporal validation to prevent lookahead bias, and metadata tracking. While powerful, the system has complexity from multiple interdependent components and external service dependencies (PostgreSQL, Redis for RQ).
The Multimodal Universe is a large-scale astronomical data repository that aggregates ~30 surveys (Legacy Survey, HSC, JWST, Gaia, SDSS, DESI, TESS, etc.) into a unified, HEALPix-partitioned HDF5 format, exposed through Hugging Face datasets. It covers multiple modalities: images (multi-band), spectra (1D), time series (light curves), and tabular catalogs. The repository provides dataset builder scripts (GeneratorBasedBuilder subclasses) per survey, cross-matching utilities, and benchmark training code (PyTorch Lightning) for downstream tasks like photometric redshift estimation and galaxy property regression. While primarily a data research project, it also includes application-like components such as baseline classifiers (Informer for PLAsTiCC) and experimental benchmark pipelines. The data is designed for training foundation models in astronomy, with streaming support and standardized column naming. Notable patterns include HEALPix-based spatial indexing, parallel processing in build scripts, and a consistent Hugging Face dataset interface across all surveys. The codebase is well-structured for its purpose, though many scripts are tightly coupled to specific surveys and external data sources, limiting direct reuse without adaptation.
This repository implements FiveThirtyEight's NFL Elo forecasting model and evaluation framework. The data lineage flows from two raw CSV sources: `data/nfl_games.csv` containing historical game results (1920-present) with pre-computed Elo win probabilities, and `data/initial_elos.csv` providing starting Elo ratings for each franchise. The `forecast.py` module implements the core Elo engine: it initializes team ratings, applies season-to-season reversion (retaining 2/3 of prior rating, reverting 1/3 toward 1505), incorporates home-field advantage (65 Elo points), and updates ratings post-game using a margin-of-victory multiplier (log(pd+1) * 2.2/(elo_diff*0.001+2.2)). Special hardcoded reversions handle franchise relocations/expansions. The `util.py` module handles CSV parsing with type coercion and evaluates forecasts using a Brier-score-based points system (25 - 100*brier, doubled for playoffs). The `eval.py` script orchestrates the full pipeline: load games, generate forecasts, evaluate against FiveThirtyEight's baseline. The repo answers the research question: 'Can alternative forecasting models beat FiveThirtyEight's Elo model on historical NFL data?'
TensorFlow Transform (tf.Transform) is a production-grade library for large-scale data preprocessing in TensorFlow pipelines. It computes global statistics (analyzers) over full datasets and applies them as transformations, ensuring train/serve consistency. The library integrates with Apache Beam for distributed execution and is part of the TFX ecosystem. Users define a preprocessing function using tft analyzers (e.g., min, max, mean, quantiles, vocabulary, TF-IDF, PCA) and mappers (e.g., scaling, bucketization, n-grams), which is traced and exported as a TensorFlow SavedModel. The architecture revolves around a graph of operation nodes (analyzer_nodes.py) that are traversed and translated into Beam PTransforms. Key features include incremental caching, combiner packing for performance, deep copy of Beam collections, and schema inference. The codebase is well-structured with extensive tests, but carries technical debt from TF1/TF2 migration, some known test failures (xfail), and experimental APIs. It is actively maintained within the TFX ecosystem.
This repository is a curated collection of baseline solutions for data science competitions, primarily from Chinese platforms (科大讯飞 AI开发者大赛, Tianchi, DataFountain, AIWIN, etc.) and some international ones (Kaggle). It contains hundreds of Jupyter notebooks and Python scripts covering a wide range of tasks: structured data classification/regression (LightGBM, XGBoost), computer vision (ResNet, EfficientNet, YOLO, CRNN), natural language processing (BERT, TF-IDF, Qwen), time series forecasting, and multimodal challenges. Each baseline is self-contained, providing a quick-start pipeline from data loading to submission generation. The repository serves as a practical learning resource for competition participants, demonstrating common feature engineering techniques, model training loops, and ensemble strategies. However, the code quality is uneven: many notebooks are exploratory with hardcoded paths, outdated library versions, and minimal error handling. The repo lacks centralized dependency management, environment definitions, or modular reusable libraries, making reproducibility low without manual adaptation. Despite these limitations, it offers a valuable catalog of patterns and templates that can be adapted for new competitions.
This repository serves as the companion code for the O'Reilly book 'Practical MLOps', providing a collection of examples spanning the MLOps lifecycle. It is a hybrid repository with a dominant data research character, containing Jupyter notebooks for exploratory data analysis (e.g., COVID-19 trends, sugar intake correlations), AutoML experiments (Ludwig text classification), and model interoperability scripts (ONNX conversion). It also includes application-like components such as a Flask-based model serving container, CLI tools for CSV linting, and cloud deployment scripts for AWS, Azure, and GCP. The code is organized by book chapters and demonstrates practical MLOps patterns, though many examples are simplified for educational purposes rather than production readiness. The most reusable asset is the modularized CSV linter, which provides a well-structured CLI for data quality checks.
This repository implements an end-to-end predictive modeling pipeline for Premier League football match outcomes (home win, draw, away win). It ingests raw match statistics from the api-football.com REST API, processes JSON data into structured DataFrames, engineers features using rolling averages (5- and 10-game windows) and team-vs-opponent differentials, trains multiple classifiers (Random Forest, SVM, KNN, MLP) with hyperparameter tuning, and serves live predictions via a Flask web application. The dominant character is data research: the primary deliverable is a set of trained models and an analytical pipeline, with the web server being a secondary deployment artifact. The best-performing model is a Random Forest achieving ~50-51% test accuracy, demonstrating that football outcomes are modestly predictable from historical statistics. The codebase includes modular helper modules for feature engineering, data scaling, and evaluation plotting that are reusable for other sports or time-series classification tasks. However, the project suffers from hardcoded absolute paths, outdated dependencies (Python 3.7, sklearn 0.23.1), plain-text API keys in the repository, and a static dataset that will drift over time.
This repository is a companion to the Packt book 'Python Feature Engineering Cookbook' by Soledad Galli. It contains over 70 Jupyter notebooks organized by chapter, each demonstrating a specific feature engineering technique for machine learning, including missing data imputation, categorical encoding, variable transformation, discretization, outlier handling, date/time features, scaling, feature creation, and text feature extraction. The notebooks use public datasets (Titanic, Boston Housing, Credit Approval UCI, 20 Newsgroups) and implement techniques both manually with pandas and using specialized libraries like feature_engine, category_encoders, and featuretools. While educational and self-contained, the code is not production-grade and relies on outdated library versions and deprecated datasets (e.g., load_boston), making it a tutorial resource rather than a reusable software project. The repository is stale—last updated around 2020—with no ongoing maintenance, and missing dependencies (e.g., category_encoders not listed in requirements.txt) further reduce reproducibility.