machine_learning_resources
machine_learning_resources copied to clipboard
Machine learning resources (Jupyter notebooks mostly). Originally code to complement the "EECE 5644: Introduction to Machine Learning and Pattern Recognition" course taught at Northeastern University.
Machine Learning Resources
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.
Directory Layout
datato hold any datasets used by models in the codebase, which is purposefully not Git tracked to avoid a large repository.docshave question sheets for any course assignments, adapted from the previous professor's (Deniz Erdogmus) original homeworks.matlabfor Matlab code that replicates some of the Python implementations.modelsto store trained models for re-use during inference.notebooksconsists of Jupyter Notebook files that walk through examples with both mathematical formulation and programming implementation.scriptsare example Python programs that test the functionality provided by themoduleslibrary. These examples are less complete than the Notebooks.
Getting Started
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.
Further Reading
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.