Skip to Main Content
It looks like you're using Internet Explorer 11 or older. This website works best with modern browsers such as the latest versions of Chrome, Firefox, Safari, and Edge. If you continue with this browser, you may see unexpected results.
| University Libraries
See Updates and FAQs for the latest library services updates. Subject Librarians are available for online appointments, and Virtual Reference has extended hours.

Learn Python for Data

Resources to learn and use the Open Source Programming Environment Python for Data Science.

Getting Started

What is machine learning?

Machine learning is a branch of artificial intelligence focusing on the training of statistical models and algorithms that can automatically improve their performance by discovering and retaining patterns these models observe in data (i.e., "learning"). In practice, this means being very accurate at prediction.

This focus on prediction differentiates machine learning from traditional statistical inference in important ways. Machine learning also uses different words than traditional statistics to describe the same thing (e.g., "features" instead of "variables").

Check out the links below to learn more about machine learning, what it's capable of, and how it differs from traditional research methods.

Introductory materials:

Popular Machine Learning Libraries


  • Excellent machine learning library containing a huge catalogue of models and algorithms.
  • Supports classification, regression, clustering, data cleaning, and feature engineering.
  • Used by both machine learning beginners and experts.

Recommended: Scikit-Learn Coding Examples & A Gentle Introduction to Scikit-Learn



  • Open source Python library for deep learning and neural networks from Google.
  • More complex models, a complicated base syntax, and a steeper learning curve.
  • Supports transfer and access to pre-trained models learning through TensorFlow Hub.

Recommended: TensorFlow Coding Examples




  • Deep learning API that interfaces with TensorFlow.
  • Offers a much more Pythonic syntax that makes programming deep neural networks easier in TensorFlow.
  • Extremely popular—second only to Scikit-Learn, according to Keras.

Recommended: Keras Coding Examples



  • Open source Python library for deep learning and neural networks from Facebook.
  • Allows for building complex models and does have a bit of a learning curve, but the syntax is more Pythonic than base TensorFlow.
  • Supports access to pre-trained models, extensions, and modules via the PyTorch Ecosystem.

Recommended: Practical Deep Learning for Coders Course by (Free!)


Data Science Course Materials

Deep Learning AI Course (TensorFlow)

  • A robust catalogue of machine learning and deep learning courses designed by Andrew Ng.
  • Can earn Coursera Certificates as you complete courses or specializations.
  • For a complete course offering, click here.
  • Note: this is an advanced course that presumes Python coding knowledge.

Coursera Courses

  • A large catalogue of courses and specializations from universities and industry.
  • Can audit all courses for free, but must pay money to earn a certificate.
  • University students get 1 free course per year with the opportunity to earn a certificate; click here for more.

Free Learning Resources