Skip to content

SergiER24/Machine-Learning

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

No releases published

Packages

 
 
 

Contributors