Research
Certifying Model Upgrades with Slice-Wise Non-Regression and Incumbent Fallback
Studies how to certify model upgrades without degrading important data slices. Uses paired non-inferiority tests and retains the incumbent model when evidence is insufficient. Includes controlled simulations, public digits experiments, saved checkpoints, and validation tests.
Python, NumPy, SciPy, scikit-learn | Statistical testing and model release evaluation
When Edit Localization Amplifies Relative Selection Bias: Gradient Geometry, Target Mismatch, and Importance Weighting
Investigates how learning from selectively observed human corrections changes gradient bias and the training target. Combines mathematical analysis, importance weighting, Monte Carlo experiments, and fixed-checkpoint diagnostics using public translation post-edits and pretrained models.
Python, PyTorch, Hugging Face Transformers, NumPy, LaTeX, Make | Gradient analysis
Which Uncertainty Is Worth Reducing? Budgeted Measurement for Wellbeing Prioritisation
Studies which additional measurements are worth acquiring before prioritizing units for wellbeing review. Evaluates budget allocation across measurement channels using controlled simulations, public BRFSS replay, and an NHS staff survey illustration.
Python, pandas, SciPy, Matplotlib, openpyxl | JavaScript and Node.js for workbook checks
The Audit Complexity of Group-Relative Policy Updates
Studies how many reference labels are needed to estimate a fixed group-relative policy update. Includes query-complexity theory, randomized estimators, controlled simulations, small-policy training, and frozen-model diagnostics on historical software-agent trajectories.
Python, NumPy, SciPy, PyTorch | Estimator implementation and independent checks
Research index — all four research repositories and release materials.
Applied Machine Learning
Predicting the Spark
A geospatial study of U.S. wildfire occurrence combining weather, historical fire records, and a vegetation fuel index. Includes data cleaning, raster processing, class imbalance handling, model comparisons, and diagnostic visualizations.
Python, scikit-learn, XGBoost, Rasterio, GeoPandas | Notebooks and analysis
Deep Learning in Vision, Language, and Time Series
A course project implementing image classification, extractive question answering, and time series forecasting. Compares CNNs and ResNet-50, fine-tunes DistilBERT on SQuAD, and evaluates recurrent models for stock price prediction.
Python, PyTorch, Hugging Face Transformers | Training and evaluation notebooks
NYC Property Sales Prediction
A regression project using New York City property transactions. Cleans and encodes property features, compares linear regression with random forests, and examines prediction errors and feature importance through visualizations.
Python, pandas, scikit-learn, Matplotlib, Seaborn | Data analysis notebook
Heart Disease Classification
A classification study of imbalanced public heart disease data. Compares logistic regression, random forests, and XGBoost with class weighting and recall-focused tuning to examine sensitivity and precision trade-offs.
Python, scikit-learn, XGBoost | Educational classification and evaluation study
Software Projects
These repositories are private. Viewing the source requires repository access.
Course Notes Platform
A web application for organizing and editing course materials, with administrator-only AI summaries and GitHub synchronization for Markdown notes. Includes client and server code, course content, and deployment configuration.
JavaScript, Node.js, Express, Anthropic SDK
Hugging Face Model Explorer
A collaborative CIS 5500 course project combining a Hugging Face metadata pipeline with model and dataset search, comparison, lineage exploration, and analytics. Includes normalized data tables, SQL queries, and a web interface.
React, Express, PostgreSQL, Python | Fork of the team repository