Introduction to Machine Learning: Supervised Learning
Learn various supervised ML algorithms and prediction tasks in this course. Improve model performances with linear regression, logistic regression, KNN, decision trees, and ensembling methods. Prior coding knowledge required. Python and data science libraries like NumPy, pandas, and sklearn will be used. College-level math skills required. Take this course for academic credit or professional development.
In this course, you’ll be learning various supervised ML algorithms and prediction tasks applied to different data. You’ll learn when to use which model and why, and how to improve the model performances. We will cover models such as linear and logistic regression, KNN, Decision trees and ensembling methods such as Random Forest and Boosting, kernel methods such as SVM.
Prior coding or scripting knowledge is required. We will be utilizing Python extensively throughout the course. In this course, you will need to have a solid foundation in Python or sufficient previous experience coding with other programming languages to pick up Python quickly.
We will be learning how to use data science libraries like NumPy, pandas, matplotlib, statsmodels, and sklearn. The course is designed for programmers beginning to work with those libraries. Prior experience with those libraries would be helpful but not necessary.
College-level math skills, including Calculus and Linear Algebra, are required. Our hope for this course is that the math will be understandable but not intimidating.
This course can be taken for academic credit as part of CU Boulder’s MS in Data Science or MS in Computer Science degrees offered on the Coursera platform. These fully accredited graduate degrees offer targeted courses, short 8-week sessions, and pay-as-you-go tuition. Admission is based on performance in three preliminary courses, not academic history. CU degrees on Coursera are ideal for recent graduates or working professionals. Learn more:
MS in Data Science: https://www.coursera.org/degrees/master-of-science-data-science-boulder
MS in Computer Science: https://coursera.org/degrees/ms-computer-science-boulder
What you will learn
Introduction to Machine Learning, Linear Regression
This week, we will build our supervised machine learning foundation. Data cleaning and EDA might not seem glamorous, but the process is vital for guiding your real-world data projects. The chances are that you have heard of linear regression before. With the buzz around machine learning, perhaps it seems surprising that we are starting with such a standard statistical technique. In “How Not to Be Wrong: The Power of Mathematical Thinking”, Jordan Ellenberg refers to linear regression as “the statistical technique that is to social science as the screwdriver is to home repair. It’s the one tool you’re pretty much going to use, whatever the task” (51). Linear regression is an excellent starting place for solving problems with a continuous outcome. Hopefully, this week will help you appreciate how much you can accomplish with a simple model like this.
Multilinear Regression
This week we are building on last week’s foundation and working with more complex linear regression models. After this week, you will be able to create linear models with several explanatory and categorical variables. Mathematically and syntactically, multiple linear regression models are a natural extension of the simpler linear regression models we learned last week. One of the differences that we must keep in mind this week is that our data space is now 3D instead of 2D. The difference between 3D and 2D has implications when considering how to do things like creating meaningful visualizations. It is essential to understand how to interpret coefficients. Machine learning involves strategically iterating and improving upon a model. In this week’s lab and Peer Review, you will identify weaknesses with linear regression models and strategically improve on them. Hopefully, as you progress through this course specialization, you will get better and better at this iterative process.
Logistic Regression
Even though the name logistic regression might suggest otherwise, we will be shifting our attention from regression tasks to classification tasks this week. Logistic regression is a particular case of a generalized linear model. Like linear regression, logistic regression is a widely used statistical tool and one of the foundational tools for your data science toolkit. There are many real-world applications for classification tasks, including the financial and biomedical realms. In this week’s lab, you will see how this classic algorithm will help you predict whether a biopsy slide from the famous Wisconsin Breast Cancer dataset shows a benign or malignant mass. We also advise starting the final project that you will turn in Week 7 of the course this week. This week, find a project dataset, start performing EDA and define your problem. Use the project rubric as a guide, and don’t be afraid to look at a few datasets until you find one well-suited to the project.
Non-parametric Models
This week we will learn about non-parametric models. k-Nearest Neighbors makes sense on an intuitive level. Decision trees are a supervised learning model that can be used for either regression or classification tasks. In Module 2, we learned about the bias-variance tradeoff, and we’ve kept that tradeoff in mind as we’ve moved through the course. Highly flexible tree models have the benefit that they can capture complex, non-linear relationships. However, they are prone to overfitting. This week and next, we will explore strategies like pruning to avoid overfitting with tree-based models. In this week’s lab, you will make a KNN classifier for the famous MNIST dataset and then build a spam classifier using a decision tree model. This week we will once again appreciate the power of simple, understandable models. Keep going with your final project. Once you’ve finalized your dataset and EDA, start on the initial approach for your main supervised learning task. Review the course material, read research papers, look at GitHub repositories and Medium articles to understand your topic and plan your approach.