I have practical experience applying machine learning concepts to work with data and build models.
While Machine Learning Crash Course may be useful to you as a refresher of fundamental
machine learning concepts, you may also want to explore some of our advanced machine learning
courses, which cover tools and techniques for solving machine learning problems in a variety
of domains.
I am looking for tutorials on how to use ML APIs like Keras.
While Machine Learning Crash Course includes several programming exercises that use
ML libraries such as numpy, pandas, and Keras, it is primarily focused on teaching
ML concepts, and does not teach ML APIs in depth. For additional Keras resources,
see the Keras Developer guides.
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.
This short self-study course introduces fundamental machine learning
concepts.
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.
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.
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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-10-09 UTC."],[[["\u003cp\u003eGoogle's Machine Learning Crash Course offers a flexible learning experience for users with varying levels of machine learning expertise, including beginners, those seeking a refresher, and experienced practitioners.\u003c/p\u003e\n"],["\u003cp\u003eThe course requires prework, such as familiarity with Python, NumPy, and pandas, and has prerequisites in algebra, linear algebra, statistics, and optionally, calculus, to fully grasp the concepts.\u003c/p\u003e\n"],["\u003cp\u003eWhile focusing on core ML concepts, the course incorporates practical programming exercises using libraries like NumPy, pandas, and Keras but doesn't delve deep into specific ML APIs.\u003c/p\u003e\n"],["\u003cp\u003eLearners are encouraged to complete the prework, including an introductory machine learning course and tutorials for NumPy and pandas, to ensure preparedness.\u003c/p\u003e\n"],["\u003cp\u003eThe course leverages the Colaboratory platform, offering browser-based programming exercises that require no setup and are best experienced on Chrome or Firefox desktops.\u003c/p\u003e\n"]]],[],null,["\u003cbr /\u003e\n\nIs Machine Learning Crash Course right for you? \nI have little or no machine learning background. \nWe recommend going through all the material in order. \n[START LEARNING](/machine-learning/crash-course/linear-regression) \nI have some background in machine learning, but I'd like a more current and complete understanding. \nMachine Learning Crash Course will be a great refresher. Go through all the modules in order, or select only those modules that interest you. \n[START LEARNING](/machine-learning/crash-course/linear-regression) \nI have practical experience applying machine learning concepts to work with data and build models. \nWhile Machine Learning Crash Course may be useful to you as a refresher of fundamental machine learning concepts, you may also want to explore some of our advanced machine learning courses, which cover tools and techniques for solving machine learning problems in a variety of domains. \n[START LEARNING](/machine-learning/advanced-courses) \nI am looking for tutorials on how to use ML APIs like Keras. \nWhile Machine Learning Crash Course includes several programming exercises that use ML libraries such as numpy, pandas, and Keras, it is primarily focused on teaching ML concepts, and does not teach ML APIs in depth. For additional Keras resources, see the [Keras Developer guides](https://keras.io/guides/).\n\nPlease read through the following [Prework](#prework) and\n[Prerequisites](#prerequisites) sections before beginning Machine Learning\nCrash Course, to ensure you are prepared to complete all the modules.\n\nPrework\n\nBefore beginning Machine Learning Crash Course, do the following:\n\n1. If you're new to machine learning, take [Introduction to Machine\n Learning](/machine-learning/intro-to-ml). This short self-study course introduces fundamental machine learning concepts.\n2. If you are new to [NumPy](https://numpy.org), do the [NumPy\n Ultraquick Tutorial](https://colab.research.google.com/github/google/eng-edu/blob/main/ml/cc/exercises/numpy_ultraquick_tutorial.ipynb?utm_source=mlcc&utm_campaign=colab-external&utm_medium=referral&utm_content=mlcc-prework&hl=en) Colab exercise, which provides all the NumPy information you need for this course.\n3. If you are new to [pandas](https://pandas.pydata.org/), do the [pandas\n UltraQuick Tutorial](https://colab.research.google.com/github/google/eng-edu/blob/main/ml/cc/exercises/pandas_dataframe_ultraquick_tutorial.ipynb?utm_source=mlcc&utm_campaign=colab-external&utm_medium=referral&utm_content=mlcc-prework&hl=en) Colab exercise, which provides all the pandas information you need for this course.\n\nProgramming exercises run directly in your browser (no setup\nrequired!) using the [Colaboratory](https://colab.research.google.com)\nplatform. Colaboratory is supported on most major browsers, and is most\nthoroughly tested on desktop versions of Chrome and Firefox.\n\nPrerequisites\n\nMachine Learning Crash Course does not presume or require any prior knowledge in\nmachine learning. However, to understand the concepts presented\nand complete the exercises, we recommend that students meet the\nfollowing prerequisites:\n\n- You must be comfortable with variables, linear equations,\n graphs of functions, histograms, and statistical means.\n\n- You should be a good programmer. Ideally, you should have some\n experience programming in [Python](https://www.python.org/) because\n the programming exercises are in Python. However, experienced\n programmers without Python experience can usually complete the programming\n exercises anyway.\n\nThe following sections provide links to additional background material\nthat is helpful.\n\nAlgebra\n\n- [variables](https://www.khanacademy.org/math/algebra/x2f8bb11595b61c86:foundation-algebra/x2f8bb11595b61c86:intro-variables/v/what-is-a-variable), [coefficients](https://www.khanacademy.org/math/cc-sixth-grade-math/cc-6th-equivalent-exp/cc-6th-parts-of-expressions/v/expression-terms-factors-and-coefficients), and [functions](https://www.khanacademy.org/math/algebra-home/alg-functions)\n- [linear equations](https://wikipedia.org/wiki/Linear_equation) such as \\\\(y = b + w_1x_1 + w_2x_2\\\\)\n- [logarithms](https://wikipedia.org/wiki/Logarithm), and logarithmic equations such as \\\\(y = ln(1+ e\\^z)\\\\)\n- [sigmoid function](https://wikipedia.org/wiki/Sigmoid_function)\n\nLinear algebra\n\n- [tensor and tensor rank](https://www.tensorflow.org/guide/tensor)\n- [matrix multiplication](https://wikipedia.org/wiki/Matrix_multiplication)\n\nTrigonometry\n\n- [tanh](https://reference.wolfram.com/language/ref/Tanh.html) (discussed as an [activation function](https://developers.google.com/machine-learning/glossary#activation_function); no prior knowledge needed)\n\nStatistics\n\n- [mean, median, outliers](https://www.khanacademy.org/math/probability/data-distributions-a1/summarizing-center-distributions/v/mean-median-and-mode), and [standard deviation](https://wikipedia.org/wiki/Standard_deviation)\n- ability to read a [histogram](https://wikipedia.org/wiki/Histogram)\n\nCalculus (*optional, for advanced topics*)\n\n- concept of a [derivative](https://wikipedia.org/wiki/Derivative) (you won't have to actually calculate derivatives)\n- [gradient](https://www.khanacademy.org/math/multivariable-calculus/multivariable-derivatives/gradient-and-directional-derivatives/v/gradient) or slope\n- [partial derivatives](https://wikipedia.org/wiki/Partial_derivative) (which are closely related to gradients)\n- [chain rule](https://wikipedia.org/wiki/Chain_rule) (for a full understanding of the [backpropagation algorithm](https://developers.google.com/machine-learning/crash-course/backprop-scroll/) for training neural networks)\n\nPython Programming\n\nThe following Python basics are covered in [The Python Tutorial](https://docs.python.org/3/tutorial/):\n\n- [defining and calling functions](https://docs.python.org/3/tutorial/controlflow.html#defining-functions),\n using positional and [keyword](https://docs.python.org/3/tutorial/controlflow.html#keyword-arguments) parameters\n\n- [dictionaries](https://docs.python.org/3/tutorial/datastructures.html#dictionaries),\n [lists](https://docs.python.org/3/tutorial/introduction.html#lists),\n [sets](https://docs.python.org/3/tutorial/datastructures.html#sets) (creating, accessing, and iterating)\n\n- [`for` loops](https://docs.python.org/3/tutorial/controlflow.html#for-statements),\n `for` loops with multiple iterator variables (e.g., `for a, b in [(1,2), (3,4)]`)\n\n- [`if/else` conditional blocks](https://docs.python.org/3/tutorial/controlflow.html#if-statements) and\n [conditional expressions](https://docs.python.org/2.5/whatsnew/pep-308.html)\n\n- [string formatting](https://docs.python.org/3/tutorial/inputoutput.html#old-string-formatting)\n (e.g., `'%.2f' % 3.14`)\n\n- variables, assignment, [basic data types](https://docs.python.org/3/tutorial/introduction.html#using-python-as-a-calculator)\n (`int`, `float`, `bool`, `str`)\n\nA few of the programming exercises use the following more advanced\nPython concept:\n\n- [list comprehensions](https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions)\n\nBash Terminal and Cloud Console\n\nTo run the programming exercises on your local machine or in a cloud console,\nyou should be comfortable working on the command line:\n\n- [Bash Reference Manual](https://tiswww.case.edu/php/chet/bash/bashref.html)\n- [Bash Cheatsheet](https://github.com/LeCoupa/awesome-cheatsheets/blob/master/languages/bash.sh)\n- [Learn Shell](http://www.learnshell.org/)\n\n[Help Center](https://support.google.com/machinelearningeducation)"]]