This repository contains a comprehensive collection of Jupyter notebooks and Python scripts for implementing and understanding key concepts in machine learning, deep learning, and PyTorch. It serves as a hands-on guide for learners and students for the course Applied Machine Learning, focusing on practical implementations and a final project example.
- Getting Started
- Project Structure
- Key Notebooks and Concepts
- Additional Scripts
- Installation
- Usage
- License
This repository provides an applied approach to understanding machine learning concepts, using Python and the PyTorch deep learning framework.
The repository is organized as follows:
Machine-Learning-Practice/
|
├── Basics of PyTorch and OOP.ipynb
├── Basics to Intermediate Concepts with Python.ipynb
├── Basics to Intermediate NumPy Concepts with Python.ipynb
├── Batch Norm_Learning Rate_Normal vs Gradient Descent.ipynb
├── Convolutional Neural Networks.ipynb
├── Data Augmentation.ipynb
├── Introduction to Python.ipynb
├── Introduction to Random Variables, Probability, and Likelihood.ipynb
├── Linear Regression.ipynb
├── Logistic Regression and Binary Classification.ipynb
├── MNIST Classification using PyTorch Lightning.ipynb
├── Multi-Layer Perceptron (MLP) Model with PyTorch.ipynb
├── NumPy with Python.ipynb
├── Recurrent Neural Networks.ipynb
├── Regression Model With Pytorch.ipynb
├── Regression With Pytorch.ipynb
├── Transformers with Pytorch.ipynb
├── F107 Solar Radio Flux CNN-Transformer.py
└── F107 Solar Radio Flux Plotter.py
Here are the highlights of each notebook:
Introduction to Python.ipynb
: Introduction to Python programming for beginners.NumPy with Python.ipynb
: Fundamental concepts and operations using NumPy.Basics to Intermediate Concepts with Python.ipynb
: Python programming exercises for ML foundations.Basics to Intermediate NumPy Concepts with Python.ipynb
: Essential and advanced operations with NumPy.
Linear Regression.ipynb
: Implementation of linear regression from scratch.Logistic Regression and Binary Classification.ipynb
: Logistic regression for binary classification tasks.Regression Model With Pytorch.ipynb
: Building regression models using PyTorch.Regression With Pytorch.ipynb
: Advanced PyTorch-based regression models.
Basics of PyTorch and OOP.ipynb
: Introduction to PyTorch and object-oriented programming.Batch Norm_Learning Rate_Normal vs Gradient Descent.ipynb
: Understanding batch normalization and learning rates.Multi-Layer Perceptron (MLP) Model with PyTorch.ipynb
: Implementing MLPs for classification.
Convolutional Neural Networks.ipynb
: Introduction and implementation of CNNs.Data Augmentation.ipynb
: Techniques to augment data for improving CNN performance.MNIST Classification using PyTorch Lightning.ipynb
: Using PyTorch Lightning to classify handwritten digits.
Recurrent Neural Networks.ipynb
: Implementing RNNs for sequential data.Transformers with Pytorch.ipynb
: Understanding and applying Transformers using PyTorch.
Introduction to Random Variables, Probability, and Likelihood.ipynb
: Core statistical concepts for ML.
These Python scripts focus on advanced applications and visualizations for time series data:
- Purpose: Predicts the 10.7-cm solar radio flux using a hybrid CNN-Transformer model.
- Key Features:
- Preprocesses time series data for solar flux measurements.
- Implements a hybrid model combining CNN (for local features) and Transformer Encoder (for global dependencies).
- Provides visualizations such as residual plots, loss curves, and prediction scatter plots.
- Input:
solar_flux.txt
(Solar flux measurements dataset). - Output: Predictions, residual plots, and performance metrics for
Obs
,Adj
, andURSI-D
columns.
- Purpose: Visualizes solar flux measurements.
- Key Features:
- Cleans and preprocesses solar flux data.
- Generates combined and separate time series plots for
Obs
,Adj
, andURSI-D
columns. - Ensures data consistency by handling missing and invalid values.
- Output: Plots showcasing trends in solar flux measurements.
To use the notebooks and scripts in this repository, follow these steps:
- Clone the repository:
git clone https://github.com/Keeby-Astro/Machine-Learning-Practice.git cd Machine-Learning-Practice
- Install the required Python libraries:
pip install -r requirements.txt
- Open Jupyter Notebook:
jupyter notebook
- Navigate to the desired notebook or script and execute cells to explore the concepts and run code.
- For standalone Python scripts, run them directly using:
python [name_of_specific_script].py
This project is licensed under the MIT License.
Special thanks to:
- PyTorch developers and the open-source community.
- Dr. Iman Ghamarian, University of Oklahoma professor for Applied Machine Learning