Skip to content

Repository files navigation

Machine Learning for Computational Engineering

Machine Learning elective portfolio from Universidad de los Andes. This repository documents the computational foundation that supports simulation, optimization, and data-driven engineering work.

Project Abstract

The portfolio covers scientific Python, numerical optimization, gradient-based methods, regression, classification, artificial neural networks, feature extraction, and applied model selection. The featured challenge formulates binary classification for hadron/gamma event data and validates a reproducible prediction-delivery contract.

Engineering Objectives

  • Build a scientific-computing foundation with NumPy, Matplotlib, and pandas.
  • Apply optimization methods, including gradient descent and Newton's method.
  • Compare regression and classification models using appropriate metrics.
  • Document a binary hadron/gamma classification workflow.
  • Preserve reviewable datasets and selected submissions.
  • Generate a machine-readable dataset inventory for reproducibility.

Mathematical Formulation

For binary classification, the empirical-risk problem is

$$\min_\theta \frac{1}{n}\sum_{i=1}^{n} \ell\left(y_i, f_\theta(x_i)\right) +\lambda \Omega(\theta).$$

For logistic regression,

$$P(y=1\mid x)=\sigma(\theta^T x) =\frac{1}{1+e^{-\theta^T x}}.$$

See Mathematical Formulation for the optimization, validation, and reproducibility context.

Assumptions

  • The repository is positioned as computational-engineering evidence, not as a mechanical-design project.
  • Historical notebooks retain their submitted language and filenames.
  • Large regenerated artifacts, models, checkpoints, and image crops are intentionally excluded.
  • The portable dataset inventory does not retrain every course model.

Methodology

  1. Organize raw datasets by source and file type.
  2. Preserve course notebooks as auditable computational evidence.
  3. Provide a reusable dataset-inventory workflow.
  4. Refactor the challenge prediction validator into a command-line tool.
  5. Export a reviewable summary and figure without requiring notebook execution.

Results

The portable workflow generates:

  • results/dataset_inventory.csv
  • results/dataset_inventory.json
  • figures/dataset_inventory.png

The repository includes hadron/gamma classification data with 10,700 training rows and 2,676 test rows, along with datasets for regression, classification, biomedical signals, and feature-extraction exercises.

Discussion

This repository strengthens the portfolio by showing computational maturity: data handling, optimization, model formulation, reproducibility, and numerical reasoning. It is complementary to the more mechanically focused Dynamics, Control, and Thermofluids repositories.

Repository Structure

data/        Raw course datasets
docs/        GitHub Pages-ready documentation
figures/     Generated portfolio figures
notebooks/   Preserved laboratory, project, and challenge notebooks
reports/     Selected PDF submissions
results/     Generated dataset inventory
src/         Reusable inventory and validation tools
tests/       Lightweight regression tests

Installation

python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt

Reproducibility

python src/ml_portfolio/dataset_inventory.py
python -m unittest discover -s tests -v

Validate a generated challenge submission:

python src/challenge_2/validate_predictions.py path/to/predictions.csv

Future Work

  • Add notebook execution checks in continuous integration.
  • Extract reusable preprocessing pipelines from the challenge notebooks.
  • Compare calibrated classifiers and uncertainty estimates.
  • Apply the same data-driven workflow to mechanical-system diagnostics.

References

  • C. M. Bishop, Pattern Recognition and Machine Learning, Springer.
  • T. Hastie, R. Tibshirani, and J. Friedman, The Elements of Statistical Learning, Springer.
  • scikit-learn documentation

Documentation

Start with the GitHub Pages-ready documentation and the portfolio evaluation.

About

Machine-learning elective portfolio for computational engineering: optimization, classification, and reproducibility tooling

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages