Course Description

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 via distance or similarity 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.

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 Scientist’s toolkit for machine learning of incoming data sets.

The purpose of this 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 Objectives

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.

After completion of this course students should:

  • Understand the basic mechanics of machine learning, and how machine learning differs from data mining, pattern recognition, or statistical hypothesis testing.
  • Understand the differences and data requirements for regressions, classification, and clustering machine learning methodologies.
  • Understand how to prepare and load datasets into Scikit-Learn, including normalization, standardization, and imputation techniques as well as pre-investigations of data with feature-extraction, dimension analysis, and distance metrics
  • Have reviewed the many different types of models available in Scikit-Learn and the basic API for building models and saving models to disks. 
  • Be able to evaluate models using cross-validation, mean squared error, accuracy, precision, recall, and F1 scores as well as understand confusion matrices. 
  • Be able to deploy models into applications or data products to receive feedback from them, retraining and reinforcing existing models. 


Enrollment in this course is restricted. Students must submit an application and be accepted into the Certificate in Data Science in order to register for this course.

Current Georgetown students must create an application using their Georgetown NetID and password. New students will be prompted to create an account.

Course Prerequisites

This course relies on understanding and completing prior courses in the Data Analytics Certificate program, as well as familiarity with Python and the command line. Please ensure that all software is installed and ready for your particular operating system. Other course requirements include:

  • A bachelor’s degree or equivalent
  • Completion of at least two college-level math courses (e.g. statistics, calculus, etc.)
  • Successful completion of Data Wrangling (XBUS-503)
  • Successful completion of Data Analysis I: Statistics (XBUS-504)
  • Familiarity with Python or Anacondas and the Command Line
  • A laptop for class meetings and coursework with Python and Scikit-Learn installed
Thank you for your interest in this course. Unfortunately, the course you have selected is currently not open for enrollment. Please complete a Course Inquiry so that we may promptly notify you when enrollment opens.
Required fields are indicated by .