This course covers the key Python skills you will need so you can start using Python for machine learning. The course is ideal for:
* Those with some previous coding experience who wants to add Python to their repertoire or level up their basic Python skills.
* Aspiring programmers who are learning their first programming language
In this course you will learn the fundamentals of Python primarily through a series of coding exercises guided by the instructor. Students will learn about the foundational underpinnings of Yython as well as how to put that knowledge to the test with practical exercises.
The course takes project-focused approach to teach you Python by building projects. We will meet twice a week at online classroom (powered by zoom). The instructor will walk you through a series of curated projects, and explain the key concepts as they arise. Students will learn the theory and how they work under the hood while writing code
We will start with learning Python in general, and then move to learn how to get started on machine learning with Python.
Students who take this course will be able to:Identify and describe the foundations of all programming languages
Use Python to import and process data
Work with libraries and APIs in Python
Use Python libraries to create charts and graphs
Describe artificial intelligence and machine learning at a high level
Use Scikit Learn and python to perform machine learning tasks
- Session 1: Sep 28, 4pm~6pm PST (US pacific time, GMT-7)
- Session 2: Sep 30, 4pm~6pm PST
- Session 3: Oct 5 , 4pm~6pm PST
- Session 4: Oct 7, 4pm~6pm PST
- Session 5: Oct 12, 4pm~6pm PST
- Session 6: Oct 14, 4pm~6pm PST
- Session 7: Oct 19, 4pm~6pm PST
- Session 8: Oct 21, 4pm~6pm PST
- 4 Weeks / 8 Sessions / 16 hours
- 8 lectures / 8 coding exercises
- Live Sessions, Real time interaction
- Capstone project, Peer students collaboration
- Slack supports to projects and homeworks
- Life time access to course materials
Check the content tab for full course outlines.
WHO SHOULD LEARN:
Developers, data scientists, students
Est. time spend per week: 4 hours live class (required) + 4 hours homework (required) + 4 hours projects (bonus, optional).
Full refund upon request before the first session ends (Sep 28th, 2020 6:00pm PT). 5% transaction fee is not refundable.
If missed live sessions, you can watch recordings any time, along with interactive learning tools, slides, course notes
Students have life time access to course materials
Earn Certificate of Completion
COURSE HISTORY (PREVIOUS BATCHES)
Batch #1: Jun 9 ~ Jun 29, 2019
Module 1: The Big Picture and The Very Basics
This class begins with the end by examining the code we hope to write and fully understand by the final class. After examining an example of a complete machine learning task, we will dive into the basics in order to demystify the code.
- What does it mean to program a computer?
- What can programming languages do?
- Why Python? How is it different from other languages?
- Variables and data types
- Combining data with operations
- Coding Exercise: Use a debugger to examine code examples.
- Coding Exercise: Write your first a simple script.
Module 2: Complex Data and Control Flow
Modern programs, especially machine learning programs, rely on large complex datasets. In this class we will examine the two most foundational components of complex data: lists and dictionaries. Once we have seen these two collection types, we will look at how to iteratively and selectively process individual items from the collections.
- Lists and dictionaries
- Control Flow
- Coding Exercise: create and modify lists and dictionaries
- Coding Exercise: search for items in a list
- Coding Exercise: create, modify, and select from nested lists and dictionaries
Module 3: Functions and Classes
In Python (and most other programming languages) there are two fundamental ways to organize code into logical units: functions and classes. Reusing blocks of code and creating complex data structures both rely heavily on the existance of functions and classes. Similarly, the libraries that programmers use to execute AI and ML workloads are organized into importable functions and classes.
- Code reuse
- Complex data
- Coding Exercise: create and use functions to process data
- Coding Exercise: create and use classes to manage complex data and processes
Module 4: Working With Libraries and APIs Part 1
Python is popular for machine learning in no small part due to the wealth of available open source libraries and APIs focused on ML tasks. The ecosysten surrounding the language is at least as important as the language itself in terms of how the language ends up being used in the software industry.
- Importing and using libraries and modules.
- Reading documentation
- Searching for tutorials and answers to questions
- Using Jupyter Notebooks vs a text editor.
- Coding Exercise: use Jupyter Notebook and numpy to perform descriptive statistics.
- Coding Exercise: use Jupyter Notebook and matplotlib to create charts..
Module 5: AI/ML In Python and K-Nearest Neighbors
After a primer on modern AI and ML, we will finally get back to the example we saw in the first class. With our expanded understanding of Python and the foundations of computer programming, students will be challenged to expand on that example by building an additional model and adding useful charts.
- What are artificial intelligence and machine learning?
- What is supervised learning?
- Scikit-learn API.
- Test/train/validation data splits.
- The K-nearest Neighbor algorithm./li>
- Coding Exercise: Modify the parameters of a K-NN model and evaluate the changing performance.
- Coding Exercise: Use Scikit Learn to build a predictive model using a different algorithm.
Module 6: Decision Trees, Random Forests, and Hyper-Parameter Search
In this class we will introduce two more models, the Decision Tree and the Random Forest, then introduce the concept of "hyper-parameter search" — a widely used tactic to decide which hyper-parameters are most effective for a given dataset.
- The Decision Tree algorithm
- Ensemble models
- Random Forests
- Hyper-parameter search
- Coding Exercise: Apply grid search with decision trees and random forests.
Module 7: Further Study and What Can Go Wrong
Machine learning is powerful, the state of the art in ML is pushing boundaries in everything from language translation to facial recognition. In this final class we will name some of the big topics we didnt have time to cover in class, discuss the current state of the art, and provide some sign-posts for your continuing journey in machine learning.
Machine learning is also dangerous. Many uses of machine learning tactics have been found to perpetuate and even exacerbate societal bias. As we discuss some of the most advanced ML tactics, we will also discuss some cautionary tales about ML gone awry and advice for avoiding these pitfalls.
- Popular ML use cases.
- Prominent ML failures and some causes.
- Coding Exercise: Work on your Kaggle challenge.
Module 8: Kaggle Mini-Hackathon/Challenge Presentations
In the final class students will be presented with a Kaggle challenge and asked to use what they have learned in class to:
- Dowload the dataset
- Create a predictive model.
- Evaluate their model performance/li>
- Present their results to the rest of the class.
Tyler is an educator, technologist, programmer, and all around curious human. He holds a bachelor’s degree in computer science and completed his MBA by counter example in San Francisco’s startup scene. Looking out from inside the Bay Area Bubble he realized that the world is not prepared for the future that technology is bringing. He is now focused on technology education, outreach, and policy