Workshop Topics (Introductory Course)

In this workshop, we explore applications of Machine Learning to analyze biological data without the need of advanced programming skills. For example, Machine Learning techniques can be used to construct predictive models based on a set of training examples, to remove noise and spurious artifacts from data (e.g. photobleaching), or to help visualize trends within high dimensional datasets, etc. This workshop will cover the basic principles involved in the applications mentioned above, such as pattern recognition, linear and non-linear regression and cluster analysis. The workshop will be oriented towards hands-on activities, starting from the basics of how to load and prepare biological datasets in a Python environment. By the end of this workshop, students will be able to use Scikit-Learn’s documentation (and other libraries) to build models based on their own data, assess their performance and make new predictions. Students are encouraged to attend to the Advanced Python and Modern Statistics workshops, although no advanced knowledge will be assumed.

For more information, please visit:

  • Overview of Machine Learning: what is it and how does it help me?
  • Nano-review of Python
  • Introduction to Jupyter Notebooks
  • Introduction to Numpy and matrices
  • Importing datasets
  • Introducing Scikit-Learn’s structure
  • In-class practice
  • Introduction to classification and Scikit-Learn
    • Bayes classifier
    • Fisher linear discriminant
    • Support Vector Machines
    • Meta-parameters and regularization
    • Random Forests
  • Scores and validation
    • Accuracy and error
    • Precision-Recall
    • F-scores
  • Cross-validation
    • Estimation bias in performance estimation
    • Leave-one-out Cross-validation
    • K-Fold Cross-validation
    • Common issues and speeding up cross-validation
  • In-class practice
  • Linear and non-linear regression
    • Linear models
    • Polynomial regression
    • Regression with Support Vector Machine
  • Generalized Linear Models
    • Meta-parameters and regularization
    • Lasso regression
  • Cross-validation and model selection
  • In-class practice
  • Overview of cluster analysis
    • Overview of methods
    • Fixed number of clusters: K-means
    • Can we learn K?
    • Hierarchical clustering
    • In-class practice

Technical Requirements

Attendees should have a working copy of Python 3 with the following packages:

  • Numpy
  • Matplotlib
  • Scikit-Learn
  • Jupyter Notebooks

For instructions on how to install these requirements on your system, please visit: 





This was a perfectly taught class. Instructor knew his audience well, hence, his examples were something all of us could relate to. He also knew the pace really well, so it was not too fast but was not too slow either (aka I never got bored or distracted much). He also did a good job of giving overall view on Machine-Learning, while giving some important details on each method. Without going too advanced, he was able to give us the basics and good understanding of what machine learning can do, based on which we could grow advanced. Thank you! I really enjoyed it.

Good overview of machine learning, good that covered many different topics. I learned a lot. Thank you!

It helped to build a good foundation of concepts, which is what I expected.

An excellent workshop. I learned a lot in a short time, and consider it time well spent.

Great job, Thiago! Clearly presented methods, explained coding techniques, and communicated information.

Wonderful course with a great instructor (Thiago), who demonstrates a strong understanding of the conceptual math behind machine learning and gives great guidance with his technical expertise in programming.

Workshop Details

Prerequisites: Intro to Python (W9) is recommended
Length: 3 days, 3 hrs per day
Level: Intermediate
Location: Boyer Hall, 529
Seats Available: 28

Spring 2024 Dates

April 16, 17, and 18
9:00 AM – 12:00 PM