This 3-day course will demonstrate the fundamental concepts of machine learning by working on a dataset of moderate size, using open source software tools.

**Course Goals**

This course is designed to help engineers collaborate with data scientists and create code that tackles increasingly complex machine learning problems. By the end of this course, you will be able to:

-Apply common classification methods for supervised learning when given a data set

-Apply algorithms for unsupervised learning problems

-Select/reduce features for both supervised and unsupervised learning problems -Optimize code for common machine learning tasks by correcting inefficiencies by using advanced data structures

-Choose basic tools and criteria to perform predictive analysis

**Intended Audience**

The intended audience of this Machine Learning course is the engineer with strong programming skills as well as a certain level of exposure to linear algebra and probability. Students should understand the basic issue of prediction as well as Python.

**Class Schedule**

**Day**

**1:**

**Linear Algebra/Probability Fundamentals and Supervised Learning**

The goal of day one is to give engineers the linear algebra/probability foundation they need to tackle problems during the rest of the course and introduce tools for supervised learning problems.

-Quick Introduction to Machine Learning

-Linear Algebra, Probability and Statistics,

-Optimization

-Regression Methods

-Classification

-Linear and Quadratic Discriminant Analysis

-Support Vector Machines and Kernels

-Lab: Working on classification problems on a data set

**Day 2: Unsupervised learning, Feature Selection and Reduction**

The goal of day two is to help students understand the mindset and tools of data scientists.

-Classification Continued

-K nearest neighbors, Random Forests, Naive Bayes Classifier

-Boosting Methods

-Information Theoretic Approaches

-Feature Selection and Model Selection/Creation

-Unsupervised Learning

-Principal Component Analysis/Kernel PCA

-Independent Component Analysis

-Clustering

- Lab: Choosing Features and applying unsupervised learning methods to a data set

**Day 3: Performance Optimization of Machine Learning Algorithms**

The goal of day three is to help students understand how developers contribute to complex machine learning projects.

-Unsupervised Learning Continued

-DB-SCAN and K-D Trees

-Anomaly Detection

-Locality-Sensitive Hashing

-Recommendation Systems and Matrix Factorization Methods

-Lab: Longer lab working on back-end Machine Learning optimization programming problems in Python

**The total cost for the 3-day course is $1,850**

(Special discount is available for NYC Data Engineering members)

**Feedback from Attendees:**

*"The ML class was definitely useful. Since taking it I've been tackling larger and larger ML-oriented problems within Spotify . Just yesterday I was running logistic regression analysis to figure out what users deem as "heavy listening". Thanks again for the opportunity!"*

**-Andrew Shum, software engineer, Spotify**

*"The class was fantastic and provided me with in-depth perspective of the "insides" of machine learning: how the math is functioning under the covers of "pre-packaged libraries" and taught me how to translate it into the code. Rachit was an excellent teacher who has managed to cover all major math principles required for machine learning in just 3 days."*

**-Anna Nicanorova, Data Scientist , Annalect**

**If you can't attend this course but are interested in future training options, please RSVP, but say "Future dates" in the comments field**

**About Hakka**

Hakka Labs (formerly g33ktalk) creates original content, resources and training events to help software engineers level up their skills. Our CTO video interviews, engineering meetups and email newsletters are must-have resources trusted by thousands of developers to keep them up-to-date on the latest software development trends, events and career opportunities.