### Is Machine Learning Crash Course right for you?

Please read through the following Prework and Prerequisites sections before beginning Machine Learning Crash Course, to ensure you are prepared to complete all the modules.

## Prework

Before beginning Machine Learning Crash Course, do the following:

- If you're new to machine learning, take Introduction to Machine Learning Problem Framing. This one-hour self-study course teaches you how to identify appropriate problems for machine learning.
- If you are new to NumPy, do the NumPy Ultraquick Tutorial Colab exercise, which provides all the NumPy information you need for this course.
- If you are new to pandas, do the pandas UltraQuick Tutorial Colab exercise, which provides all the pandas information you need for this course.

## Prerequisites

Machine Learning Crash Course does not presume or require any prior knowledge in machine learning. However, to understand the concepts presented and complete the exercises, we recommend that students meet the following prerequisites:

You must be comfortable with variables, linear equations, graphs of functions, histograms, and statistical means.

You should be a good programmer. Ideally, you should have some experience programming in Python because the programming exercises are in Python. However, experienced programmers without Python experience can usually complete the programming exercises anyway.

The following sections provide links to additional background material that is helpful.

### Algebra

- variables, coefficients, and functions
- linear equations such as \(y = b + w_1x_1 + w_2x_2\)
- logarithms, and logarithmic equations such as \(y = ln(1+ e^z)\)
- sigmoid function

### Linear algebra

### Trigonometry

- tanh (discussed as an activation function; no prior knowledge needed)

### Statistics

- mean, median, outliers, and standard deviation
- ability to read a histogram

### Calculus (*optional, for advanced topics*)

- concept of a derivative (you won't have to actually calculate derivatives)
- gradient or slope
- partial derivatives (which are closely related to gradients)
- chain rule (for a full understanding of the backpropagation algorithm for training neural networks)

### Python Programming

The following Python basics are covered in The Python Tutorial:

defining and calling functions, using positional and keyword parameters

dictionaries, lists, sets (creating, accessing, and iterating)

`for`

loops,`for`

loops with multiple iterator variables (e.g.,`for a, b in [(1,2), (3,4)]`

)string formatting (e.g.,

`'%.2f' % 3.14`

)variables, assignment, basic data types (

`int`

,`float`

,`bool`

,`str`

)

A few of the programming exercises use the following more advanced Python concept:

### Bash Terminal / Cloud Console

To run the programming exercises on your local machine or in a cloud console, you should be comfortable working on the command line: