Machine Learning with Udacity
Tags: machinelearning, udacity, training
Published: 2018-11-22 19:35:27

---
title: Machine Learning with Udacity
published: true
tags: ml,udacity,training
canonical_url: 
cover_image: https://thepracticaldev.s3.amazonaws.com/i/ca37wsq1t41tvnikduck.jpg
---

I am studying [Machine Learning with Udacity](https://classroom.udacity.com/courses/ud120). Let me explain why, and why do I think Python nicely fits into the picture.

## My motivation

I am studying Machine Learning. I want to explore the topic of Natural Language Processing. Before going deeper in NLP insights I felt I need to learn the basics of ML. I have to understand supervised techniques better. And this is course seems to be helpful. So far I learned about SVM and Naïve Bayes and what makes the difference between both. Before, it was not easy for me – I admit – but the explanation given by speakers was more than satisfying. Really, it is lots of graphics and examples with enough level of information. Very good job Udacity guys! I will try to regularly update my [Git repo forked from Udacity](https://github.com/lukaszkuczynski/ud120-projects), so stay tuned!

## Python to play with data

Every time I create something in Python I have this feeling I am using the right tool for the right task! That is interesting: I do not have that feeling when trying to fight with Spark ML. Every line of code I write here is just a pleasure. Didn’t you experience that? If you did not, try to use Python for data exploration. After several years of experience in Java, I cannot imagine myself doing the same in Java.

## Choose a model

The mindful choice of an ML algorithm is important crucial. You cannot just take the first and try to manipulate it to the point it will be OK. You have to mind the use case from the very beginning. And when you are ready, it is time to apply the algorithm. Every choice has to be justified.

## Tune params

When learning about SVM there was a nice hint to separate a small amount of data to check your model params, and then, when they seem to be good, try to apply them on a full set. It is because the training model requires a lot of try-and-fail attempts. So decrease your waiting time to the minimum! Parameters also can be nicely visualized by diagrams, so when you applied some change, try to see it on a plot. Why not, if you have so many visualization libraries like `matplotlib` or `seaborn`.

## Udacity is cool

I don’t know if Udacity is the best but compared to other platforms I can see its benefits. Let me a show you a few of them. They made a difference for me, being a programmer: Git repo with prepared data from the course! You just fork [it](https://github.com/udacity/ud120-projects) and start doing things! Very interactive training. Many questions and lots of graphics The ideal tradeoff between the professional look and level of knowledge

## Short Summary

Why do I study ML? The reason is: I want to understand NLP. And everything is [Git-visible](https://github.com/lukaszkuczynski/ud120-projects). Read the story of me studying the first 3 lessons from Udacity’s “Introduction to Machine Learning” [training](https://classroom.udacity.com/courses/ud120).