This is a two-day course that introduces how one can use Python for advanced machine learning applications. Most of the time will be spent working through example problems end-to-end in the classroom. Students will learn the fundamentals of the Scikit-learn library along with exploring several other tools and methodologies that allow you to implement a robust end-to-end machine learning workflow. Some additional time will be reserved for discussion of real programming challenges students have encountered, and for an overview of related relevant technologies students may need in an industry setting (e.g. Git and GitHub).
- Develop an intuition for the machine learning workflow and Python tooling.
- Build familiarity with common software engineering tooling and methodologies for implementing a machine learning project.
- Gain a high-level understanding of the function of data science-adjacent technologies that students will encounter in the workplace, focusing on Git and GitHub.
- Strong understanding of core Python concepts: variables, loops, conditionals, and functions
- Some experience using Jupyter Notebooks or Jupyter Lab
- Solid grasp of Pandas and how to use it for data manipulation: filtering, selecting, aggregating, slicing (indexing), and updating
- High-level understanding of modeling concepts: training and test data, model accuracy, and overfitting
This workshop will be 100% virtual over 4 half-days.
Day | Topic | Time |
---|---|---|
1 | Introductions | 12:45 - 1:00 |
Setting the Stage | 1:00 - 1:15 | |
Git & version control | 1:15 - 2:00 | |
Break | 2:00 - 2:15 | |
EDA & Our First scikit-learn Model | 2:15 - 3:45 | |
Q&A | 3:45 - 4:15 | |
2 | Q&A | 12:45 - 1:00 |
Modular Code | 1:00 - 2:00 | |
Feature Engineering | 2:00 - 3:00 | |
Break | 3:00 - 3:15 | |
Case Study, pt. 1 | 3:15 - 4:00 | |
Q&A | 4:00 - 4:15 | |
3 | Q&A | 12:45 - 1:00 |
Model Evaluation & Selection | 1:00 - 2:15 | |
Break | 2:15 - 2:30 | |
More on Modular Code | 2:30 - 3:15 | |
Unit Tests | 3:15 - 4:00 | |
Q&A | 4:00 - 4:15 | |
4 | Q&A | 12:45 - 1:00 |
More on Unit Tests | 1:00 - 1:30 | |
ML lifecycle management | 1:30 - 2:30 | |
Break | 2:30 - 2:45 | |
Case Study, pt. 2 | 2:45 - 3:45 | |
Case Study Review, pt. 2 and Q&A | 3:45 - 4:15 |
You will need to install Python, Jupyter, and the relevant libraries on your personal computer for this workshop. we also recommend downloading the course materials.
See below for instructions on doing so.
These easiest way to install Python, Jupyter, and the necessary packages is through Anaconda. To download and install Anaconda and its graphical interface, Anaconda Navigator, follow these steps:
- Visit the Anaconda download page.
- Select your appropriate operating system.
- Click the "Download" button for Anaconda Individual Edition, Python 3.9 - this will begin to download the Anaconda installer.
- If a popup appears, asking you to sign up for anything, you can close the window.
- Open the installer when the download completes, and then follow the prompts. If you are prompted about installing PyCharm, elect not to do so.
- Once installed, open the Anaconda Navigator and launch a Jupyter Notebook to ensure it works.
- Download the class materials (see the below section) and use the included
environment.yaml
file to create a new environment from Anaconda Navigator, using these steps:
- In the tabs along the left side, select "Environments".
- At the bottom of the list of environments (you will likely have just one, "base"), look for the "Import" button. Click it.
- In the dialog box that appears, click on the folder icon and then navigate your computer's files in order to select the
environment.yaml
file you downloaded earlier. Click "Open" once you've selected it. - Wait for Anaconda Navigator to finish fetching and installing the needed packages. When it finishes, a new environment called "uc-python" should show up in the list.
There are two ways to download the class materials:
- Clone it - If you're familiar with using Git, we recommend cloning the repo.
- Download the files as a zip - This will allow you to download a static copy of the files here, but in order to get any updates you'll need to redownload the entire repo. Use this link.
If you have any specific questions prior to the class you can reach out to us directly via GitHub or email: