Machine learning resources primarily in the form of Jupyter notebooks. This repository was originally developed to complement the "EECE 5644: Introduction to Machine Learning and Pattern Recognition" course taught at Northeastern University over the Summer 2022 semesters. You can find some of the lectures publicly available at this webpage.
Please contact Mark Zolotas about any questions concerning the repository.
data
to hold any datasets used by models in the codebase, which is purposefully not Git tracked to avoid a large repository.docs
have question sheets for any course assignments, adapted from the previous professor's (Deniz Erdogmus) original homeworks.matlab
for Matlab code that replicates some of the Python implementations.models
to store trained models for re-use during inference.notebooks
consists of Jupyter Notebook files that walk through examples with both mathematical formulation and programming implementation.scripts
are example Python programs that test the functionality provided by themodules
library. These examples are less complete than the Notebooks.
You can "clone" this Git repository into your workspace, by running the following command:
git clone https://github.com/mazrk7/machine_learning_resources.git
If you wish to "pull" any updates I make to this repository over time, run:
git pull origin main
Look through this Git Basics if you would like further guidance.
I make use of Jupyter Notebooks for many of the in-class demonstrations. This is basically a Python web interface that allows me to combine written formulas/notes with code and run it in a sequential fashion. My environment is set up using Anaconda, which I highly recommend for hosting applications like Jupyter within your Python environment.
Ofcourse, you can also look through the Notebooks without running the code. Or you can directly import the code aspects into whatever Python IDE is of your preference. I usually recommend these two:
Both are great so take your pick!
Lastly, my Python environment can be installed directly using pip
as follows:
pip install -r requirements.txt
Or by creating a Conda environment from my provided yaml
file:
conda env create -f environment.yaml
Please note that these environments were generated for the Python 3.11.5 release and may require dependency consolidation if you use another Python version.
Setting up interactive plots in jupyter
ipympl
enables the interactive features of matplotlib in the Jupyter notebook. Instructions are in its official repo.
Many of the code and examples presented in this repository take inspiration from Kevin Murphy's "Probabilistic Machine Learning: An Introduction" and "PML: Advanced Topics" books. I highly recommend these books for further reading.