Applied Machine Learning (BIOF509)

Graduate Course, Foundation for the Advanced Education in the Sciences, 2019

Machine learning is a computational field that consists of techniques allowing computers to learn from data and make data-driven predictions or decisions. The ability to implement machine learning approaches appropriately and intelligently is a crucial component of data analysis. The Applied Machine Learning (BIOF509) course provides a broad practical introduction to machine learning concepts, analysis design, and implementation.The course will give a broad and conceptual overview of the most popular machine learning algorithms, followed by examples of how and when to apply them to real data. Best practices in designing machine learning analyses will be emphasized and reviewed, along with how to avoid common pitfalls and how to interpret analysis results. Through homework and in-class assignments, students will implement machine -earning models in Python, utilizing state-of-the-art machine learning Python packages, such as scikit-learn and tensorflow. Algorithms that will be covered include, but are not limited to linear and logistic regression, random forest, K-means clustering, and deep learning. Note that the course emphasizes hands-on application of algorithms, and mathematical derivation will not be reviewed. Further, depending on the students’ familiarity with Python, completing the weekly homework assignments can take one to four hours. The course will culminate in a short research project utilizing machine learning to analyze either the student’s own dataset or a public dataset that the student chooses.

Students will use Jupyter Notebooks and the PyCharm integrated development environment (IDE). Thank you to JetBrains for offering free full access to their All Product Pack, including PyCharm Professional, to all of my students!

Thank you to DataCamp for offering free full access to all of their awesome content to all of my students! For a quick idea of the course, please take a look at the Spring 2019 course repository and course website.

Learning objectives:

  • Choose appropriate machine learning techniques for data analyses and interpret their results
  • Design properly machine learning analysis pipelines and avoid common pitfalls
  • Complete a short research project using machine learning


Students should have previously completed BIOF309 Introduction to Python or have equivalent experience. While the course will include a brief Python refresher, the emphasis of the course will be on applying machine learning.