
Explore how to apply random forest, Adaboost, and decision trees to machine learning tasks. Discover learning types, overfitting and underfitting, bias and variance, and practical Python demos in Jupyter notebooks.
Understand learning in machine learning: a program learns from experience to improve on tasks, measured by performance, unlike traditional programming that maps inputs to outputs using data and outcomes.
Define the core learning concepts by detailing tasks—regression, classification, and clustering—and show how accuracy, the confusion matrix, and precision, recall, and F1 score guide evaluation.
Master learning types—supervised, unsupervised, and reinforcement—while examining accuracy, precision, recall, f1, mean squared error, and mean absolute error in classification, regression, and clustering.
Explore machine learning problems, including generalization, training vs testing error, and iid data assumption. Learn how to balance model capacity with cross validation and regularization to prevent underfitting and overfitting.
Explore the bias-variance trade-off, including irreducible error, bias, and variance, and how training versus testing error reveals underfitting and overfitting, with remedies like more features and data.
Explore how random forests combine multiple decision trees to improve accuracy and reduce overfitting, with trees split on attributes to make classification or regression predictions.
Construct a decision tree efficiently with divide and conquer, selecting attributes that reduce uncertainty using entropy and information gain, and apply recursion to grow trees.
Learn the decision tree algorithm using entropy and information gain to pick attributes and build a root node, then recursively create leaves with a golf-playing example.
Learn how to build and visualize a decision tree classifier using the Iris dataset, with simple two-line code, feature and class names, and leaf visuals.
Explore how random forests combine multiple decision trees with random feature subsets to reduce overfitting, using averaging and hyperparameters to improve accuracy.
Explore how random forests reduce overfitting and boost accuracy by aggregating decision trees, and learn feature importance through information gain, with real-life analogies like Netflix and Titanic data.
Compare decision trees and random forests: decision trees use single rules, while random forests build multiple randomized trees to boost accuracy and reduce overfitting via sampling and cross-validation.
Explore ensemble methods, including bagging with random forests and voting schemes, and boost learning with AdaBoost, training weak classifiers sequentially to form a strong classifier.
Apply AdaBoost to sequentially train classifiers, weighing errors more in regions where earlier models faltered and combining them with a weighted average to boost accuracy.
Explores implementing the AdaBoost classifier with multiple weak classifiers, using decision tree stumps as splits, evaluating weighted error, and combining classifiers with a trainable alpha to form a strong classifier.
Learn how AdaBoost combines weak classifiers into a strong predictor by iteratively updating sample weights, computing alphas, and forming a weighted sign of classifiers.
Armando demonstrates AdaBoost efficiency by simplifying weight updates and avoiding exponentials, highlighting easy implementation, strong generalization and feature selection, while noting potential suboptimal results and sensitivity to outliers.
This AdaBoost demo guides you through building a simple AdaBoost classifier in a notebook, generating a classification dataset, fitting the model, evaluating accuracy around 98%, and inspecting feature importance.
Learners implement AdaBoost with a decision tree base estimator, visualize decision boundaries, and tune basic parameters; the demo builds random features, fits the classifier, and evaluates plotting results.
discover how to use Jupiter notebook, create Python notebooks, switch between code and markdown cells, run code, and save checkpoints, with install options like Anaconda, pip, and Google Colab.
Explore hands-on linear regression in Python using a Jupyter notebook to fit data, plot results, and compare underfitting, overfitting, and model scores.
In recent years, we've seen a resurgence in AI, or artificial intelligence, and machine learning.
Machine learning has led to some amazing results, like being able to analyze medical images and predict diseases on-par with human experts.
Google's AlphaGo program was able to beat a world champion in the strategy game go using deep reinforcement learning.
Machine learning is even being used to program self driving cars, which is going to change the automotive industry forever. Imagine a world with drastically reduced car accidents, simply by removing the element of human error.
Google famously announced that they are now "machine learning first", and companies like NVIDIA and Amazon have followed suit, and this is what's going to drive innovation in the coming years.
Machine learning is embedded into all sorts of different products, and it's used in many industries, like finance, online advertising, medicine, and robotics.
It is a widely applicable tool that will benefit you no matter what industry you're in, and it will also open up a ton of career opportunities once you get good.
Machine learning also raises some philosophical questions. Are we building a machine that can think? What does it mean to be conscious? Will computers one day take over the world?
This course is all about ensemble methods.
In particular, we will study the Random Forest and AdaBoost algorithms in detail.
To motivate our discussion, we will learn about an important topic in statistical learning, the bias-variance trade-off. We will then study the bootstrap technique and bagging as methods for reducing both bias and variance simultaneously.
All the materials for this course are FREE. You can download and install Python, NumPy, and SciPy with simple commands on Windows, Linux, or Mac.
This course focuses on "how to build and understand", not just "how to use". Anyone can learn to use an API in 15 minutes after reading some documentation. It's not about "remembering facts", it's about "seeing for yourself" via experimentation. It will teach you how to visualize what's happening in the model internally. If you want more than just a superficial look at machine learning models, this course is for you.