We may earn an affiliate commission when you visit our partners.
Course image
Carlos Guestrin and Emily Fox

Do you have data and wonder what it can tell you? Do you need a deeper understanding of the core ways in which machine learning can improve your business? Do you want to be able to converse with specialists about anything from regression and classification to deep learning and recommender systems?

Read more

Do you have data and wonder what it can tell you? Do you need a deeper understanding of the core ways in which machine learning can improve your business? Do you want to be able to converse with specialists about anything from regression and classification to deep learning and recommender systems?

In this course, you will get hands-on experience with machine learning from a series of practical case-studies. At the end of the first course you will have studied how to predict house prices based on house-level features, analyze sentiment from user reviews, retrieve documents of interest, recommend products, and search for images. Through hands-on practice with these use cases, you will be able to apply machine learning methods in a wide range of domains.

This first course treats the machine learning method as a black box. Using this abstraction, you will focus on understanding tasks of interest, matching these tasks to machine learning tools, and assessing the quality of the output. In subsequent courses, you will delve into the components of this black box by examining models and algorithms. Together, these pieces form the machine learning pipeline, which you will use in developing intelligent applications.

Learning Outcomes: By the end of this course, you will be able to:

-Identify potential applications of machine learning in practice.

-Describe the core differences in analyses enabled by regression, classification, and clustering.

-Select the appropriate machine learning task for a potential application.

-Apply regression, classification, clustering, retrieval, recommender systems, and deep learning.

-Represent your data as features to serve as input to machine learning models.

-Assess the model quality in terms of relevant error metrics for each task.

-Utilize a dataset to fit a model to analyze new data.

-Build an end-to-end application that uses machine learning at its core.

-Implement these techniques in Python.

Enroll now

What's inside

Syllabus

Welcome
Machine learning is everywhere, but is often operating behind the scenes.

This introduction to the specialization provides you with insights into the power of machine learning, and the multitude of intelligent applications you personally will be able to develop and deploy upon completion.

We also discuss who we are, how we got here, and our view of the future of intelligent applications.
Read more
Regression: Predicting House Prices
This week you will build your first intelligent application that makes predictions from data.

We will explore this idea within the context of our first case study, predicting house prices, where you will create models that predict a continuous value (price) from input features (square footage, number of bedrooms and bathrooms,...).

This is just one of the many places where regression can be applied.Other applications range from predicting health outcomes in medicine, stock prices in finance, and power usage in high-performance computing, to analyzing which regulators are important for gene expression.

You will also examine how to analyze the performance of your predictive model and implement regression in practice using a Jupyter notebook.
Classification: Analyzing Sentiment
How do you guess whether a person felt positively or negatively about an experience, just from a short review they wrote?

In our second case study, analyzing sentiment, you will create models that predict a class (positive/negative sentiment) from input features (text of the reviews, user profile information,...).This task is an example of classification, one of the most widely used areas of machine learning, with a broad array of applications, including ad targeting, spam detection, medical diagnosis and image classification.

You will analyze the accuracy of your classifier, implement an actual classifier in a Jupyter notebook, and take a first stab at a core piece of the intelligent application you will build and deploy in your capstone.
Clustering and Similarity: Retrieving Documents
A reader is interested in a specific news article and you want to find a similar articles to recommend. What is the right notion of similarity? How do I automatically search over documents to find the one that is most similar? How do I quantitatively represent the documents in the first place?

In this third case study, retrieving documents, you will examine various document representations and an algorithm to retrieve the most similar subset. You will also consider structured representations of the documents that automatically group articles by similarity (e.g., document topic).

You will actually build an intelligent document retrieval system for Wikipedia entries in an Jupyter notebook.
Recommending Products
Ever wonder how Amazon forms its personalized product recommendations? How Netflix suggests movies to watch? How Pandora selects the next song to stream? How Facebook or LinkedIn finds people you might connect with? Underlying all of these technologies for personalized content is something called collaborative filtering.

You will learn how to build such a recommender system using a variety of techniques, and explore their tradeoffs.

One method we examine is matrix factorization, which learns features of users and products to form recommendations. In a Jupyter notebook, you will use these techniques to build a real song recommender system.
Deep Learning: Searching for Images
You’ve probably heard that Deep Learning is making news across the world as one of the most promising techniques in machine learning. Every industry is dedicating resources to unlock the deep learning potential, including for tasks such as image tagging, object recognition, speech recognition, and text analysis.

In our final case study, searching for images, you will learn how layers of neural networks provide very descriptive (non-linear) features that provide impressive performance in image classification and retrieval tasks. You will then construct deep features, a transfer learning technique that allows you to use deep learning very easily, even when you have little data to train the model.

Using iPhython notebooks, you will build an image classifier and an intelligent image retrieval system with deep learning.
Closing Remarks
In the conclusion of the course, we will describe the final stage in turning our machine learning tools into a service: deployment.

We will also discuss some open challenges that the field of machine learning still faces, and where we think machine learning is heading. We conclude with an overview of what's in store for you in the rest of the specialization, and the amazing intelligent applications that are ahead for us as we evolve machine learning.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Taught by Carlos Guestrin and Emily Fox, who are recognized for their work in machine learning
Examines how machine learning can improve business outcomes
Provides hands-on experience with practical case studies
Covers core machine learning concepts and techniques
Teaches how to apply machine learning in various domains
Requires students to have some background in machine learning or statistics

Save this course

Save Machine Learning Foundations: A Case Study Approach to your list so you can find it easily later:
Save

Reviews summary

Ml foundations: case studies in machine learning

learners say this course is a largely positive introduction to machine learning concepts that is well received and highly rated, with an 86% overall positivity score. They especially appreciate the use of case studies and hands-on assignments, which help to solidify the learning process and make the material more engaging. The course is structured in a way that makes it easy to follow along, and the instructors are knowledgeable and enthusiastic. However, there are some drawbacks to the course, including the fact that it is somewhat outdated and uses a proprietary software library that is not as widely used as other options. Additionally, some students have experienced technical difficulties with the installation and setup of the software, which can be frustrating. Overall, learners say this course is a good option for those who are new to machine learning and are looking for a well-rounded introduction to the field.
The instructors are knowledgeable and enthusiastic, and they do a good job of explaining the material in a clear and engaging way.
"Both the tutors are great and their explanation was incredible ."
"Emily and Fox both have the deep knowledge of their domain and more over they also have the skills of how to teach."
"The course has an excellent approach to ML theory and practice."
"A very good course that gave me a jump start to machine learning application and got me right into coding the applications."
The course content is comprehensive and covers a wide range of machine learning topics, from regression to deep learning.
"A good course for getting a rough idea of what machine learning is, and what its applications are."
"Very good introduction to machine learning, along with some required python basics, good to pickup by any person, even without computer science background."
"Great starter course to dive into machine learning."
"It was greate and complete foundation course on ML which i have taken by University of Washington department."
The course is well-structured and easy to follow, with clear explanations and a logical progression of topics.
"The use of case studies helps a lot to understand the concepts easily."
"The videos are a bit old still the course is very helpful and really enjoyable."
"The course is well structured and presented."
"The course has a really interesting approach, and I have enjoyed it, but as Turicreate (previously Graphlab) has not become a mainstream tool (on top of the difficulty to use it with Windows), I would rather have also some exposure to other tools, as Scikit-learn and Tensorflow, for example."
The course's case study approach and hands-on assignments are highly praised, with learners saying that they help to make the learning process more engaging and effective.
"I would highly recommend this course as an entry-point to machine-learning."
"It's a great course as first approach to this fantastic world "machine learning"."
"I am progressing forward on my learning journey. I consider myself fortunate to have found this course, providing me with the opportunity to apply new knowledge and delve deeper into real-world use cases!!"
"It was a really rewarding course! Although I participate with my colleagues and partners in the development of decision-making methods based on a completely different approach, this course was useful for me to reflect on my own scientific position and to increase my competence in achieving my scientific goals."
Turicreate is not compatible with Windows, which can be a major inconvenience for some learners.
"To figure out what to do and how to use it."
"It was so frusterating to start the course like this."
"Turi Create is not a great option (had installing issues as a Python beginer)."
"Had to install Linux on my system to study this course."
The course uses a proprietary software library called Turicreate, which is not as widely used as other options and can be difficult to install and use.
"Spent a lot of time learning how to use Graphlab."
"Worst part is installing turicreate..."
"The only thing that I disliked was the fact that the jupyter notebooks were explained using the library Turicreate, which has been a great discovery, but it is not as widely used as Scikit-Learn."
"I wish I could have continued, but due to the constraints, I will be bypassing this segment of my education."
"Frustrating to start the course like this."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Machine Learning Foundations: A Case Study Approach with these activities:
Brush up on Python programming
Python is the primary language used in this course. Refreshing your Python knowledge will ensure you can keep up with the pace of learning.
Show steps
  • Read through a Python tutorial or refresher course.
  • Complete a few coding challenges or exercises.
  • Install Python on your computer and set up a development environment.
Review regression
Regression is a technique used to predict a continuous value. Refresh your knowledge and you will be better prepared to learn and implement this technique in class.
Show steps
  • Read back over chapters or notes on simple linear regression, multiple linear regression, and polynomial regression.
  • Work through 2-3 practice problems.
  • Consider how regression could be applied to a current social problem.
Review a refresher text in linear algebra
Reviewing linear algebra will help you to understand the underlying math of many machine learning models.
Show steps
  • Skim the main chapters on matrix operations, vector spaces, and linear transformations.
  • Solve 10-20 practice problems from each chapter.
Seven other activities
Expand to see all activities and additional details
Show all ten activities
Form a study group with other students in the course
Learning with others is a great way to challenge yourself and improve your understanding of the material.
Show steps
  • Reach out to other students in the course and introduce yourself.
  • Schedule a time to meet regularly to discuss the course material.
  • Take turns leading the discussion and presenting your understanding of the concepts.
  • Work together on problem sets and assignments.
  • Provide feedback and support to each other.
Practice supervised learning
Supervised learning is a must-have skill in machine learning. You will get a chance to apply supervised learning through classification and regression in this course. This activity provides a great way to refine these skills.
Browse courses on Supervised Learning
Show steps
  • Find three (3) practice problems online or in a book that require supervised learning.
  • Solve each problem and track the time it takes you to arrive at a solution.
  • If you get stuck, don't give up. Search for resources that can help you through the problem.
  • Once you have solved it, start over and try to solve the problem again. Set a timer and try to solve it in the same amount of time or less.
Complete coding exercises on regression and classification
Coding exercises will help you solidify your understanding of the concepts and algorithms used in machine learning.
Show steps
  • Find a set of coding exercises on regression and classification.
  • Complete the exercises, taking your time to understand the code and the underlying concepts.
  • Debug any errors in your code.
Attend a local meetup or conference on machine learning
Meeting other people who share your interest in machine learning will help you stay motivated and learn new things. You may even get some great ideas for projects!
Browse courses on Machine Learning
Show steps
  • Search for local meetups or conferences on machine learning.
  • Register for an event and attend.
  • Talk to other attendees and learn about their work.
  • Exchange contact information with people you meet.
  • Follow up with the people you met and continue the conversation.
Build a predictive model using a real-world dataset
Creating a machine learning model will give you some great hands-on experience. You will implement all the steps involved in model creation. The real-world dataset will add to the challenge and give you a better understanding of the ML process.
Browse courses on Predictive Modeling
Show steps
  • Choose a dataset from a source like Kaggle or UCI Machine Learning Repository.
  • Explore the data and select features that you think will be useful for prediction.
  • Build a machine learning model using a library like scikit-learn or TensorFlow.
  • Evaluate the performance of your model using metrics like accuracy or F1 score.
  • Write a blog post or create a presentation to share your findings with others.
Learn about regularization techniques
Regularization techniques can help you build a better predictive model. Understanding and implementing these techniques will enhance the machine learning models that you will build in this course.
Browse courses on Regularization Techniques
Show steps
  • Find a tutorial on L1 and L2 regularization.
  • Implement each technique in a Jupyter notebook.
  • Compare the performance of your models on a dataset of your choice.
  • Write a short blog post about your findings to share with your peers.
Contribute to an open-source machine learning project
Getting involved in open-source will help you make connections with other professionals in the field and also gain valuable experience. An alternative would be to find a mentor who works in the area of machine learning and work on a project with them.
Browse courses on Open Source
Show steps
  • Identify an open-source machine learning project that you are interested in contributing to.
  • Read the project's documentation and find an issue that you can work on.
  • Fork the project and create a branch for your changes.
  • Make your changes and submit a pull request.
  • Collaborate with other contributors to get your changes merged into the main branch.

Career center

Learners who complete Machine Learning Foundations: A Case Study Approach will develop knowledge and skills that may be useful to these careers:
Data Scientist
A Data Scientist will be responsible for handling large amounts of data, using statistical and machine-learning approaches to extract insights, and build models that can make predictions on new data. This course can equip a Data Scientist with the foundational knowledge and skills necessary to build and evaluate models. For instance, using regression techniques, a Data Scientist can predict continuous values, such as house prices. Classification techniques can be used to determine whether a sentiment is positive or negative. With clustering techniques, a Data Scientist can group similar data points, as with organizing documents based on their contents.
Software Engineer (Machine Learning)
A Software Engineer, Machine Learning will be involved in developing and maintaining software applications that leverage machine learning techniques. Familiarity with regression techniques, as covered in this course, will enable a Software Engineer, Machine Learning to create software that can make predictions based on input data. The course also covers classification techniques, which can be employed to train software to distinguish between different types of data. The knowledge gained from this course will help a Software Engineer, Machine Learning build robust and effective machine-learning-based software systems.
Machine Learning Engineer
A Machine Learning Engineer will apply engineering principles to the development, deployment, and maintenance of machine learning systems. By using regression techniques, a Machine Learning Engineer can predict a continuous value, such as predicting stock prices based on past performance. Classification techniques can be used to develop systems that distinguish between different types of data, such as categorizing customer feedback as positive or negative. Clustering techniques can be used to organize data points into groups, which can be useful for tasks such as customer segmentation.
Data Analyst
A Data Analyst collects, processes, and analyzes data to extract meaningful insights and inform decision-making. This course provides foundational knowledge in regression techniques, which can be used to identify trends and patterns in data. Classification techniques can be utilized to categorize data points, enabling a Data Analyst to uncover hidden relationships and segments within the data. By mastering the concepts taught in this course, a Data Analyst can effectively analyze data and support data-driven decision-making.
Financial Analyst
A Financial Analyst uses financial data and models to evaluate investment opportunities and make recommendations. This course provides foundational knowledge in regression techniques, which can be utilized to analyze financial trends and forecast future performance. Classification techniques can be employed to identify patterns and anomalies in financial data, aiding in risk assessment and fraud detection. By mastering the concepts in this course, a Financial Analyst can enhance their analytical skills and make informed investment decisions.
Risk Analyst
A Risk Analyst evaluates and manages risks within an organization. This course provides foundational knowledge in regression techniques, which can be used to analyze historical data and predict the likelihood of future events. Classification techniques can be employed to identify patterns and anomalies in data, aiding in fraud detection and risk assessment. By mastering the concepts in this course, a Risk Analyst can develop robust risk management strategies and safeguard the organization from potential threats.
Quantitative Analyst
A Quantitative Analyst uses mathematical and statistical models, along with machine learning techniques, to analyze financial data and make informed decisions. This course provides a solid foundation in regression techniques, which are essential for tasks such as predicting financial trends. The course also covers classification techniques, which can be used to categorize financial data, such as identifying high-risk investments. The knowledge gained from this course will help a Quantitative Analyst build and refine models that aid in decision-making.
Product Manager
A Product Manager is responsible for managing the development and launch of new products. This course provides a comprehensive overview of machine learning techniques that can be used to enhance product development. Regression techniques can be used to predict demand for new products based on market data. Classification techniques can be employed to identify customer segments and tailor products to their needs. By understanding the concepts covered in this course, a Product Manager can make informed decisions and drive the development of successful products.
Business Analyst
A Business Analyst examines an organization's business processes and systems to identify areas for improvement. By leveraging regression techniques, as covered in this course, a Business Analyst can analyze key business metrics and predict future performance. Classification techniques can be employed to segment customers and identify opportunities for targeted marketing campaigns. The knowledge gained from this course will empower a Business Analyst to make data-driven recommendations and drive positive change within the organization.
Operations Research Analyst
An Operations Research Analyst applies mathematical and analytical techniques to solve complex business problems. By utilizing regression techniques, as covered in this course, an Operations Research Analyst can optimize resource allocation and predict demand for products and services. Classification techniques can be employed to segment customers and identify patterns in their behavior, enabling the development of targeted marketing campaigns. The knowledge gained from this course will equip an Operations Research Analyst with the skills to solve real-world business problems effectively.
Market Researcher
A Market Researcher conducts research on target markets to understand their needs and preferences. By employing regression techniques, as taught in this course, a Market Researcher can analyze market trends and predict future demand. Classification techniques can be used to segment customers into different groups based on their characteristics, which can inform targeted marketing campaigns. The insights gained from this course will enable a Market Researcher to make data-driven decisions and develop effective marketing strategies.
Product Manager, Data
A Product Manager, Data is responsible for the development and launch of data-driven products. This course provides a comprehensive overview of machine learning techniques that can be used to enhance product development. Regression techniques can be used to predict demand for new products based on market data. Classification techniques can be employed to identify customer segments and tailor products to their needs. By understanding the concepts covered in this course, a Product Manager, Data can make informed decisions and drive the development of successful data-driven products.
Consultant
A Consultant provides expert advice and guidance to organizations on various business issues. By leveraging regression techniques, as covered in this course, a Consultant can analyze data to identify trends and patterns, and make recommendations for improvement. Classification techniques can be employed to segment customers and identify opportunities for targeted marketing campaigns. The knowledge gained from this course will empower a Consultant to provide data-driven insights and help organizations achieve their goals.
Data Scientist (Healthcare)
A Data Scientist, Healthcare applies machine learning techniques to analyze healthcare data and derive meaningful insights. This course provides foundational knowledge in regression techniques, which can be used to predict disease risk and treatment outcomes. Classification techniques can be employed to identify patterns in patient data and develop diagnostic models. By mastering the concepts in this course, a Data Scientist, Healthcare can contribute to the advancement of medical research and improve patient care.
Software Developer
A Software Developer designs, develops, and maintains software applications. By understanding regression techniques, as taught in this course, a Software Developer can create software that can make predictions based on input data. The course also covers classification techniques, which can be used to train software to distinguish between different types of data. The knowledge gained from this course will help a Software Developer build effective and efficient software solutions.

Reading list

We've selected 24 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Machine Learning Foundations: A Case Study Approach.
Provides a comprehensive introduction to information theory, inference, and learning algorithms. It is written in a clear and concise style, and it is suitable for beginners and experienced learners alike.
Provides a comprehensive introduction to pattern recognition and machine learning, with a focus on the underlying mathematical concepts. It is written in a clear and concise style, and it is suitable for beginners and experienced learners alike.
A comprehensive handbook on recommender systems, covering a wide range of topics including collaborative filtering, content-based filtering, and hybrid recommenders. Useful as a reference or for additional reading.
A textbook on machine learning from a mathematical perspective, covering a wide range of topics including probability theory, Bayesian inference, and kernel methods. Useful as a reference or for additional reading.
Provides a comprehensive introduction to machine learning, with a focus on the algorithmic approach. It is written in a clear and concise style, and it is suitable for beginners and experienced learners alike.
A practical guide to natural language processing with Python, covering a wide range of topics including text preprocessing, feature extraction, and machine learning models. Useful as a reference or for additional reading.
A textbook on information retrieval, covering a wide range of topics including text processing, search algorithms, and evaluation. Useful as a reference or for additional reading.
Provides a comprehensive introduction to machine learning, with a focus on how to use machine learning to solve problems in robotics. It is written in a clear and concise style, and it is suitable for beginners and experienced learners alike.
Provides a comprehensive introduction to machine learning concepts and techniques, using Python as the programming language. It covers a wide range of topics, including supervised learning, unsupervised learning, and deep learning. The book is written in a clear and concise style, and it is suitable for beginners and experienced learners alike.
Provides a comprehensive introduction to machine learning, with a focus on how to use machine learning to solve business problems. It is written in a clear and concise style, and it is suitable for beginners and experienced learners alike.
Provides a comprehensive introduction to machine learning, with a focus on how to use machine learning to solve problems in finance. It is written in a clear and concise style, and it is suitable for beginners and experienced learners alike.
Comprehensive guide to deep learning, a cutting-edge field of machine learning that has revolutionized many industries. It covers the theoretical foundations of deep learning as well as practical techniques for building and training deep learning models.
An introduction to machine learning concepts and algorithms, written for beginners. Useful as a reference or for additional reading.
Classic textbook on pattern recognition and machine learning. It covers a wide range of topics, from Bayesian inference to neural networks. It valuable resource for anyone who wants to learn the theoretical foundations of machine learning.
Practical guide to machine learning for programmers. It covers a wide range of topics, from data preprocessing to model deployment. It valuable resource for anyone who wants to learn how to build and deploy machine learning models in the real world.
Practical guide to machine learning with Python. It covers a wide range of topics, from data preprocessing to model evaluation. It valuable resource for anyone who wants to learn how to use Python to build and deploy machine learning models.
Comprehensive guide to machine learning from a probabilistic perspective. It covers a wide range of topics, from Bayesian inference to graphical models. It valuable resource for anyone who wants to learn the theoretical foundations of machine learning.
Practical guide to data mining. It covers a wide range of topics, from data preprocessing to model evaluation. It valuable resource for anyone who wants to learn how to use data mining to extract knowledge from data.
Classic textbook on statistical learning. It covers a wide range of topics, from linear regression to support vector machines. It valuable resource for anyone who wants to learn the theoretical foundations of machine learning.
Comprehensive guide to machine learning from an algorithmic perspective. It covers a wide range of topics, from supervised learning to unsupervised learning. It valuable resource for anyone who wants to learn the theoretical foundations of machine learning.
Practical guide to machine learning for programmers. It covers a wide range of topics, from data preprocessing to model deployment. It valuable resource for anyone who wants to learn how to build and deploy machine learning models in the real world.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Machine Learning Foundations: A Case Study Approach.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser