Applied Machine Learning in Python

Learn how to apply Machine Learning concepts fast using the Scikit-Learn library. The course provides clear explanations and challenging assignments. It is a perfect balance between theory and implementation.

Created by: Kevyn Collins-Thompson

Produced in 2016

icon
What you will learn

  • Methods and techniques of applied machine learning
  • Everyday application of machine learning, in credit cards fraud detection or showing ads
  • How to use Scikit-learn Python library
  • Understand data dimensionality and clustering algorithms
  • Classify different types of fruit using a k-nearest neighbor classifier
  • Optimize ML model's performance with evaluation and selection methods
  • Implement Naive Bayes Classifiers and Random Forests algorithm
  • Create predictive models to forecast outcomes in the future
  • Much, Much more!

icon
Course Description

This course will introduce the learner to applied machine learning, focusing more on the techniques and methods than on the statistics behind these methods. The course will start with a discussion of how machine learning is different than descriptive statistics, and introduce the scikit learn toolkit through a tutorial. The issue of dimensionality of data will be discussed, and the task of clustering data, as well as evaluating those clusters, will be tackled. Supervised approaches for creating predictive models will be described, and learners will be able to apply the scikit learn predictive modelling methods while understanding process issues related to data generalizability (e.g. cross validation, overfitting). The course will end with a look at more advanced techniques, such as building ensembles, and practical limitations of predictive models. By the end of this course, students will be able to identify the difference between a supervised (classification) and unsupervised (clustering) technique, identify which technique they need to apply for a particular dataset and need, engineer features to meet that need, and write python code to carry out an analysis. This course should be taken after Introduction to Data Science in Python and Applied Plotting, Charting & Data Representation in Python and before Applied Text Mining in Python and Applied Social Analysis in Python.

icon
Pros

icon
Cons

    • Practical application of Machine Learning with Scikit-Learn.
    • Good mixture of lectures, reading and practice.
    • Insights into key Machine Learning techniques and tools.
    • Well-organized content and stimulating assignments.
    • Covers numerous topics in a short time.
    • Lacks real world examples.

icon
Instructor Details

Kevyn Collins-Thompson

Kevyn Collins-Thompson is an Associate Professor of Information and Computer Science in the School of Information at the University of Michigan. He works on developing algorithms and systems for effectively connecting people with information, especially for educational goals. This involves bringing together methods from applied machine learning, human-computer interaction (HCI), and natural language processing. He also has more than a decade of industry experience as a software engineer, manager, and researcher.

icon
Reviews

4.9

481 total reviews

5 star 4 star 3 star 2 star 1 star
% Complete
% Complete
% Complete
% Complete
% Complete

By Brendan B on 6-Jan-19

Glosses over material (much like prior courses in this specialization), the professor is audibly nervous during recorded lectures, and many assignments require information and functions not covered in the lectures. Additionally, out of date Python modules are used in the notebooks, so you're learning often deprecated usage patterns, not to mention the constant struggle that is the auto-grader. You can teach yourself with free resources and save yourself the money and unhelpful bouts of rage against the auto-grader.

By Sarah H H on 2-May-19

I want to give this course a higher score because I do think I learned A TON. However, I learned a ton because the course had some flaws in instructions and assignments that required some frustrating moments and a lot of outside work to correct. If you take this course, DISCUSSION FORUMS are a must because of all the errors and bugs in assignments. The explanations are a little 'too rosy' in the videos in my opinion (they show best case scenarios) so there's a disconnect in what i actually had to do to pass the assignments which tended to have lots of room for improvement. That said, if you are willing to go out on your own and figure it out (mentors are so-so in actually helping), then this course is a great ML workout!

By solarmew on 13-Jun-17

Not very good compared to the first two courses :( :( :( ... I took a Machine Learning Class from Stanford which was incredibly well put together and presented (though to be fair, it was 12 weeks), but it was in MatLab and I wanted to take a course in Python just to have a different perspective and solidify my understanding. Unfortunately, I find this course to be confusing more than anything. If I hadn't taken the Stanford course before, I'd be completely lost. It's very dry, dense, and hand-wavy and doesn't go into a whole lot of details with anything leaving you wondering what's happening and why and how... I don't approve of jumping straight to using the built-in functions if you don't understand the processes behind them (which I personally don't have a solid grasp on them still) ... I think they are just trying to fit too much information into four weeks and it's really lacking. Maybe if you're already familiar with linear regression, it's not as hard to follow. Either way, I'd recommend either taking the Stanford class first, or learning about this stuff elsewhere before starting this course.

By Riccardo T on 21-Sep-18

A lot of stuff, compressed in a short time. It's more about memorizing a lot of concepts rather than understanding them. I strongly recommend to take the course of professor Andrew Ng before this one.

By Max B on 3-Jan-19

This is a great course for those with limited experience of machine learning, wishing to quickly grasp how to apply machine learning methods and get their hands dirty. In my opinion, this is the best course in the specialization so far and as in previous courses you are expected to dig into further theoretical/usage details yourself from online documentation (hence the name applied). Concise lectures and interesting reading materials, as well as hands-on assignments. My recommendation is to either start with this course or take it together with more theoretical courses (such as "Machine Learning" from Stanford or "Machine Learning Fundamentals" from UCSD) to get the full flavour of what machine learning has to offer.

By Lin Y on 9-Jul-19

This could the single most interesting course amongst all the 5 courses in this specialization. It made Machine Learning easy to interpret and fun to explore for beginners. The assignments are very thorough, though with some autograder issues. I strongly recommend anyone who's interested in ML to take this introductory course to again some knowledge in the different methods and applications of ML in various fields.

By SeyedAlireza K on 17-Nov-18

There is a huge difference between teaching / tutoring and just reading some pre-written scripts. Even on an online course. Andrew Ng's Machine Learning course is a great example of teaching and this was one of the worst courses I have ever taken in coursera / udacity.

By Aziz J on 7-Nov-17

My biggest critique of this class is that it is not challenging at all. Homework assignments are just a repeat of the lectures and take less than an hour if you took notes on the lectures. In other words, there is no value in the homework assignments. The first two courses in this specialization were awesome. We did real life examples for homework assignments and through research you learned more than you had asked for. It was perfect. Even in lectures, there is nothing 'applied' about this course. The professor just covers the content with no real-life examples. Very mundane and unexciting.Also, why not talk about multi-label classification? Professor takes a real example with multiple labels (handwritten digits), makes it a binary class and then proceeds to explain it... Thanks. My recommendation would be to restructure the homework assignments. Instead of having 7 questions that spoon-fed you the solution of a primitive problem, ask us to do some Kaggle challenges, or give us a topic that we go out and solve, do some peer-reviewed assignment. Lastly, if you don't have time or don't want to explain important concepts like pipeline, nested cross validation, and multi-label classification, add them as resources. I am NOT confident in my ability to solve machine learning problems in Python from this course, nor is this course worth recommending.

By Arpan S on 4-Aug-19

I am unenrolling because of the following reasons: 1) instructor lead training is very very boring - the gentleman keeps talking in same pitch and there is no lucid explanation behind the math that is constantly thrown at you2) the course does not bother to put in any real world scenarios to correlate the content withOverall really poor experience

By Athira C on 30-Jan-19

The course is so informative and interseting.

By Olzhas A on 9-Sep-17

This course is ideally designed for understanding, which tools you can use to do machine learning tasks in python. However, for deep understanding ML algorithms you should take more math based courses

By Haim S R on 27-Jun-19

Gives practical experience with ML in Python.Hides the math under the hood :(However, this course is not enough to become a real data scientist. One needs much more exercises.