Data Community DC and District Data Labs are hosting a full-day Intro to Machine Learning with Python workshop on Saturday February 28th. For more info and to sign up, go to http://bit.ly/1xQ9f4n. Register before February 13th for an early bird discount!

## Overview

When we talk about Data Science and the Data Science Pipeline, we are typically talking about the management of data flows for a specific purpose - the modeling of some hypothesis. The models that we construct can then be used in data products as an engine to create more data and actionable results.

Machine learning is the art of training some model by using existing data along with a statistical method to create a parametric representation of a model that fits the data. That’s kind of a mouthful, but what that essentially means is that a machine learning algorithm uses statistical processes to learn from examples, then applies what it has learned to future inputs to predict an outcome.

Machine learning can classically be summarized with two methodologies: supervised and unsupervised learning.

In supervised learning, the “correct answers” are annotated ahead of time and the algorithm tries to fit a decision space based on those answers.

In unsupervised learning, algorithms try to group like examples together, inferring similarities usually via distance metrics.

These learning types allow us to explore data and categorize them in a meaningful way, predicting where new data will fit into our models.

## What You Will Learn

Scikit-Learn is a powerful machine learning library implemented in Python with numeric and scientific computing powerhouses Numpy, Scipy, and matplotlib for extremely fast analysis of small to medium sized data sets. It is open source, commercially usable and contains many modern machine learning algorithms for classification, regression, clustering, feature extraction, and optimization. For this reason Scikit-Learn is often the first tool in a Data Scientists toolkit for machine learning of incoming data sets.

The purpose of this one day course is to serve as an introduction to Machine Learning with Scikit-Learn. We will explore several clustering, classification, and regression algorithms for a variety of machine learning tasks and learn how to implement these tasks with our data using Scikit-Learn and Python. In particular, we will structure our machine learning models as though we were producing a data product, an actionable model that can be used in larger programs or algorithms; rather than as simply a research or investigation methodology. For more on Scikit-Learn see: Six Reasons why I recommend Scikit-Learn (O’Reilly Radar).

## Course Outline

The workshop will cover the following topics:

- An introduction to machine learning
- Loading datasets into Scikit-Learn
- Building models and model persistence
- Feature extraction from data sets
- Regressions
- Classifiers
- Clustering
- Model selection and evaluation
- Building a data pipeline

After this course you should understand the basics of machine learning and how to implement machine learning algorithms on your data sets using Python and Scikit-Learn. In particularly you should understand basic regressions, classifiers, and clustering algorithms and how to fit a model and use it to predict future outcomes.

## Instructor: Benjamin Bengfort

Benjamin is an experienced Data Scientist and Python developer who has worked in military, industry, and academia for the past nine years. He is currently pursuing his PhD in Computer Science at The University of Maryland, College Park, doing research in Machine Learning and Artificial Intelligence. He holds a Masters degree from North Dakota State University where he taught undergraduate Computer Science courses. He is also adjunct faculty at Georgetown University where he teaches Data Science and Analytics.