Is Machine Learning Crash Course right for you?
Please read through the following Prerequisites and Prework sections before beginning Machine Learning Crash Course, to ensure you are prepared to complete all the modules.
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:

Mastery of introlevel algebra. You should be comfortable with variables and coefficients, linear equations, graphs of functions, and histograms. (Familiarity with more advanced math concepts such as logarithms and derivatives is helpful, but not required.)

Proficiency in programming basics, and some experience coding in Python. Programming exercises in Machine Learning Crash Course are coded in Python using TensorFlow. No prior experience with TensorFlow is required, but you should feel comfortable reading and writing Python code that contains basic programming constructs, such as function definitions/invocations, lists and dicts, loops, and conditional expressions.
Prework
Programming exercises run directly in your browser (no setup required!) using the Colaboratory platform. Colaboratory is supported on most major browsers, and is most thoroughly tested on desktop versions of Chrome and Firefox. If you'd prefer to download and run the exercises offline, see these instructions for setting up a local environment.
Getting Started with pandas
The programming exercises in Machine Learning Crash Course use the pandas library for manipulating data sets. If you're unfamiliar with pandas, we recommend completing the Quick Introduction to pandas tutorial, which illustrates the key pandas features used in the exercises.
LowLevel TensorFlow Basics
The programming exercises in Machine Learning Crash Course use TensorFlow's highlevel tf.estimator API to configure models. If you're interested in building TensorFlow models from scratch, complete these tutorials:
 TensorFlow Hello World: "Hello World" coded in lowlevel TensorFlow.
 TensorFlow Programming Concepts: A walkthrough of the fundamental components of a TensorFlow application: tensors, operations, graphs, and sessions.
 Creating and Manipulating Tensors: A quick primer on tensors: the central abstraction in TensorFlow programming. Also provides a refresher on matrix addition and multiplication in linear algebra.
Key Concepts and Tools
Machine Learning Crash Course discusses and applies the following concepts and tools. For more information, see the linked resources.
Math
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
Basic Python
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
) 
The
pass
statement
Intermediate Python
The following more advanced Python features are also covered in The Python Tutorial:
ThirdParty Python Libraries
Machine Learning Crash Course code examples use the following features from thirdparty libraries. Prior familiarity with these libraries is not necessary; you can look up what you need to know when you need it.
Matplotlib (for data visualization)
Seaborn (for heatmaps)
heatmap
function
pandas (for data manipulation)
DataFrame
class
NumPy (for lowlevel math operations)
scikitlearn (for evaluation metrics)
 metrics module
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: