Throughout the course we will post Jupyter Notebooks that are meant to supplement the lecture and give you an opportunity to explore the more theoretical concepts through real world applications. Some of the homework assignments will also be computational and hence, use Jupyter Notebooks.

We have set up a JupyterHub instance for the class. This means you do not have to install anything locally on your machine—though you are welcome to and I (Prof. Ratliff) encourage you to do so in order to learn things like package management, see below.

Task

You should make sure to install the packages listed in the requirements.txt file. This requires you to either open a terminal (File→New→Terminal) and run pip install -r requirements.txt OR open a new notebook (File→New→Notebook) and run in a cell !pip install -r requirements.txt

Info

You can find the requirements file here: link to requirements.txt. You will need to upload this into your JupyterHub instance. Should be able to do this by dragging and dropping. You should only need to do this once in fact. You can also save workspaces in your hub instance.

Anaconda

If you are interested in trying to install things locally on your machine, it is highly recommended that you use Anaconda and create conda environments.

Mac

If you are using a Mac, it is recommended that you install homebrew and use that to install anaconda. The docs pages for anaconda are pretty rich. It is suggested that you reference those for doing the following:

  • managing conda environments: see here
  • setting up a python3 environment: see here
  • installing packages in conda environment: in your conda environment you can use either conda or pip to install packages. We will need everything in the requirements.txt file in addition to numpy, scipy, matplotlib, pandas
  • gui for conda package management: this is a link to information on the anaconda navigator. I (Prof. Ratliff) am generally not a fan of guis but this one is really nice for quick and easy package management. Here is the “getting started” man pages for conda navigator. Always read the manual.

Windows

I (Prof. Ratliff) do not have a windows machine so I have not tried this. However, the instructions seem pretty straightforward for installing anaconda and once you do that, the links above under “Mac” are also relevant.

Ubuntu (Linux)

Linux machines are probably the easiest when it comes to this kind of thing. Here are the instructions. If you are using Ubuntu (very likely) then that is then use the Debian commands.


Subpages

  1. Utilities File
  2. Module 1 - This set of notebooks is associated to Module 1.
  3. Module 2 - This set of notebooks explores least squares application in machine learning and data science using optimization tools.
  4. Module 3 - This set of notebooks explores spectral methods for analysis in machine learning and data science using optimization tools.
  5. Module 4 - This set of notebooks explores convex modeling using CVXPY and also simple algorithms such as gradient descent.