"Introduction to Machine Learning" serves as an entry point into the dynamic field of machine and statistical learning. Aimed at undergraduate computer science students, the book builds on a solid foundation in mathematics (calculus, linear algebra, and probability theory) and programming, covering essential topics for aspiring machine learning experts. It addresses key concepts such as estimation theory, regression and classification models, boosting and regularization techniques, kernel methods, unsupervised learning, gradient-based methods, and neural networks, alongside the theoretical aspects of statistical learning.
Our approach integrates formal mathematical proofs with high-quality code examples, helping students grasp not only the theory behind the models but also how they work, why they perform as they do, when they might fail, and how to fine-tune parameters for optimal results. This learning experience is further enhanced by hands-on practice in programming, fitting, and evaluating models.
This comprehensive resource includes:
- An online version of the book with links to code examples and animations illustrating key topics (for animations to work, use a PDF reader that supports animated figures, such as Adobe).
- Hands-on Guided Labs - Enabling readers to explore the concepts discussed in the book.
- Code Examples and Graph Generation Scripts - Featured throughout the book.
- Skeleton Files for the IMLearn Software Package - Providing functions and classes to be implemented while reading. Upon completion, this skeleton transforms into a fully functioning machine learning software package.
To experience the code examples and guided labs follow these instructions to set up the conda environment. Set a local copy of this GitHub repository. Do so by forking and cloning the repository or cloning the repository using GitBash and
cd LOCAL_REPOSITORY_PATH
git clone https://github.com/GreenGilad/IML.HUJI.git
or by downloading and unzipping it in LOCAL_REPOSITORY_PATH
. Then:
- Download and install Anaconda from official website.
- Verify instllation by starting the Anaconda Prompt. A terminal should start with the text
(base)
written at the beginning of the line. - Set the IML conda environment. Start the Anaconda Prompt and write:
This will create a conda envoronment named
conda env create -f "LOCAL_REPOSITORY_PATH\environment.yml"
iml.env
with the specifications defined inenvironment.yml
. If creating failed due toResolvePackageNotFound: plotly-orca
remove this line from environment file, create environment without, and then after activating environment run:conda install -c plotly plotly-orca
- Activate the environment by
conda activate iml.env
. - To open one of the Jupyter notebooks:
jupyter notebook "LOCAL_REPOSITORY_PATH\lab\Lab 00 - A - Data Analysis In Python - First Steps.ipynb"
Another option is to run the Jupyter notebooks through the PyCharm IDE plug-in.
- Install the PyCharm IDE (professional edition) as described on the Install PyCharm page. Be sure to install the Jupyter plug-in.
- Follow the Configure a Conda virtual environment page.
- Open a PyCharm project from
LOCAL_REPOSITORY
and set the project's interpreter to be theiml.env
environment.
One can also view and run the labs and code examples via Google Colab. It supports loading and running Jupyter notebooks and running using a specified Conda environemnt.