A rigorous and engaging deep-dive into statistics and machine-learning, with hands-on applications in Python and MATLAB.

**What you'll learn**

- Descriptive statistics (mean, variance, etc)
- Inferential statistics
- T-tests, correlation, ANOVA, regression, clustering
- The math behind the "black box" statistical methods
- How to implement statistical methods in code
- How to interpret statistics correctly and avoid common misunderstandings
- Coding techniques in Python and MATLAB/Octave
- Machine learning methods like clustering, predictive analysis, classification, and data cleaning

**Requirements**

- Good work ethic and motivation to learn.
- Previous background in statistics or machine learning is not necessary.
- Python -OR- MATLAB with the Statistics toolbox (or Octave).
- Some coding familiarity for the optional code exercises.
- No textbooks necessary! All materials are provided inside the course.

**Description**

**Statistics and probability control your life.**I don't just mean What YouTube's algorithm recommends you to watch next, and I don't just mean the chance of meeting your future significant other in class or at a bar. Human behavior, single-cell organisms, Earthquakes, the stock market, whether it will snow in the first week of December, and countless other phenomena are probabilistic and statistical. Even the very nature of the most fundamental deep structure of the universe is governed by probability and statistics.

**You need to understand statistics**.

Nearly all areas of human civilization are incorporating code and numerical computations. This means that many jobs and areas of study are based on applications of statistical and machine-learning techniques in programming languages like Python and MATLAB. This is often called 'data science' and is an increasingly important topic.

If you want to make yourself a future-proof employee, employer, data scientist, or researcher in any technical field -- ranging from data scientist to engineering to research scientist to deep learning modeler -- you'll need to know statistics and machine-learning. And you'll need to know how to implement concepts like probability theory and confidence intervals, k-means clustering and PCA, Spearman correlation and logistic regression, in computer languages like Python or MATLAB.

**There are six reasons why you should take this course:**

- This course covers everything you need to understand the fundamentals of statistics, machine learning, and data science, from bar plots to ANOVAs, regression to k-means, t-test to non-parametric permutation testing.
- After completing this course, you will be able to understand a wide range of statistical and machine-learning analyses, even specific advanced methods that aren't taught here. That's because you will learn the foundations upon which advanced methods are build.
- This course balances mathematical rigor with intuitive explanations, and hands-on explorations in code.
- Enrolling in the course gives you access to the Q&A, in which I actively participate every day.
- I've been studying, developing, and teaching statistics for 20 years, and I'm, like, really great at math.

**What you need to know before taking this course:**

- High-school level maths. This is an applications-oriented course, so I don't go into a lot of detail about proofs, derivations, or calculus.
- Basic coding skills in Python or MATLAB. This is necessary only if you want to follow along with the code. You can successfully complete this course without writing a single line of code! But participating in the coding exercises will help you learn the material. The MATLAB code relies on the Statistics and Machine Learning toolbox (you can use Octave if you don't have MATLAB or the statistics toolbox). Python code is written in Jupyter notebooks.
- I recommend taking my free course called "
*Statistics literacy for non-statisticians*". It's 90 minutes long and will give you a bird's-eye-view of the main topics in statistics that I go into much much much more detail about here in this course. Note that the free short course is not required for this course, but complements this course nicely. And you can get through the whole thing in less than an hour if you watch if on 1.5x speed! - You do not need any previous experience with statistics, machine learning, deep learning, or data science. That's why you're here!

**Is this course up to date?**

Yes, I maintain all of my courses regularly. I add new lectures to keep the course "alive," and I add new lectures (or sometimes re-film existing lectures) to explain maths concepts better if students find a topic confusing or if I made a mistake in the lecture (rare, but it happens!).

You can check the "Last updated" text at the top of this page to see when I last worked on improving this course!

**What if you have questions about the material?**

This course has a Q&A (question and answer) section where you can post your questions about the course material (about the maths, statistics, coding, or machine learning aspects). I try to answer all questions within a day. You can also see all other questions and answers, which really improves how much you can learn! And you can contribute to the Q&A by posting to ongoing discussions.

And, you can also post your code for feedback or just to show off -- I love it when students actually write better code than mine! (Ahem, doesn't happen so often.)

**What should you do now?**

First of all, congrats on reading this far; that means you are seriously interested in learning statistics and machine learning. Watch the preview videos, check out the reviews, and, when you're ready, invest in your brain by learning from this course!

**Who this course is for:**

- Students taking statistics or machine learning courses
- Professionals who need to learn statistics and machine learning
- Scientists who want to understand their data analyses
- Anyone who wants to see "under the hood" of machine learning