Difference between revisions of "Machine Learning Bio"

From Chrome
Jump to: navigation, search
(Laboratories)
 
(25 intermediate revisions by the same user not shown)
Line 2: Line 2:
  
 
The following are last-minute news you should be aware of ;-)
 
The following are last-minute news you should be aware of ;-)
 +
* 04/09/2023: Grades of summer calls and projects are [[Media:ML2223-Grades_092023.pdf|HERE!]]
 +
* 31/05/2023: Check the change of classroom for the last two lectures of the course!!
 +
* 03/05/2023: Homework project published
 
  * 15/03/2023: Material for first lab published
 
  * 15/03/2023: Material for first lab published
 
  * 03/03/2023: Lecture schedule updated ... also with recordings
 
  * 03/03/2023: Lecture schedule updated ... also with recordings
Line 119: Line 122:
 
|06/04/2023 || Thursday || 12:15-14:15 || B6.4 || Matteo Matteucci || Lecture ||  [https://politecnicomilano.webex.com/politecnicomilano/ldr.php?RCID=500b262bde8449ea20fa773e77599045 Classification: KNN and Logistic Regression (Ch. 4 ISL + Ch. 4 ESL)]  
 
|06/04/2023 || Thursday || 12:15-14:15 || B6.4 || Matteo Matteucci || Lecture ||  [https://politecnicomilano.webex.com/politecnicomilano/ldr.php?RCID=500b262bde8449ea20fa773e77599045 Classification: KNN and Logistic Regression (Ch. 4 ISL + Ch. 4 ESL)]  
 
|-
 
|-
|12/04/2023 || Wednesday || 15:15-18:15 || 25.1.3 || Stefano Samele || Python Laboratory || Generalized Linear Regression and Feature Selection Laboratory  
+
|12/04/2023 || Wednesday || 15:15-18:15 || 25.1.3 || Stefano Samele || Python Laboratory || [https://politecnicomilano.webex.com/politecnicomilano/ldr.php?RCID=e5f11a68949fcfef7436fd2f92be1b8d Generalized Linear Regression and Feature Selection Laboratory (Part 1)] [https://politecnicomilano.webex.com/politecnicomilano/ldr.php?RCID=a3a13d25920209bcd19105b5da467c04 (Part 2)]
 
|-
 
|-
|13/04/2023 || Thursday || 12:15-14:15 || B6.4 || Matteo Matteucci || Lecture ||  Classification: Logistic Regression (Ch. 4 ISL + Ch. 4 ESL)
+
|13/04/2023 || Thursday || 12:15-14:15 || B6.4 || Matteo Matteucci || Lecture ||  [https://politecnicomilano.webex.com/politecnicomilano/ldr.php?RCID=4ed6b806fed8f42bb6e1b1e39d99803b Classification: Logistic Regression (Ch. 4 ISL + Ch. 4 ESL)]
 
|-
 
|-
 
|19/04/2023 || Wednesday || 15:15-18:15 || 25.1.3 ||-- || -- || -- Prove Itinere --  
 
|19/04/2023 || Wednesday || 15:15-18:15 || 25.1.3 ||-- || -- || -- Prove Itinere --  
Line 127: Line 130:
 
|20/04/2023 || Thursday || 12:15 - 14:15 || B6.4 || -- || -- || -- Prove Itinere --
 
|20/04/2023 || Thursday || 12:15 - 14:15 || B6.4 || -- || -- || -- Prove Itinere --
 
|-
 
|-
|26/04/2023 || Wednesday || 15:15-18:15 || 25.1.3 || Matteo Matteucci || Lecture || Classification: Linear Discriminanr Analysis (Ch. 4 ISL)  
+
|26/04/2023 || Wednesday || 15:15-18:15 || 25.1.3 || Matteo Matteucci || Lecture || [https://politecnicomilano.webex.com/politecnicomilano/ldr.php?RCID=30455e554c7945917ccdaf9e97fa02bd Classification: Linear Discriminanr Analysis (Ch. 4 ISL)]
 
|-
 
|-
|27/04/2023 || Thursday || 12:15 - 14:15 || B6.4 || Matteo Matteucci || Lecture ||  Evaluation methods for classification
+
|27/04/2023 || Thursday || 12:15 - 14:15 || B6.4 || Matteo Matteucci || Lecture ||  [https://politecnicomilano.webex.com/politecnicomilano/ldr.php?RCID=1c999fbf226a7c834db815ac3db16663 Evaluation methods for classification]
 
|-
 
|-
|03/05/2023 || Wednesday || 15:15-18:15 || 25.1.3 || Stefano Samele || Python Laboratory ||  Logistic Regression and LDA Laboratory  
+
|03/05/2023 || Wednesday || 15:15-18:15 || 25.1.3 || Stefano Samele || Python Laboratory ||  [https://politecnicomilano.webex.com/politecnicomilano/ldr.php?RCID=d289b3bd788dc2e51511426826370f96 Logistic Regression and LDA Laboratory]
 
|-
 
|-
 
|04/05/2023 || Thursday || 12:15-14:15 || B6.4 || -- || -- || -- Graduation --
 
|04/05/2023 || Thursday || 12:15-14:15 || B6.4 || -- || -- || -- Graduation --
 
|-
 
|-
|10/05/2023 || Wednesday || 15:15-18:15 || 25.1.3 || Matteo Matteucci || Lecture || The Perceptron (Ch. 4 ESL, Ch. 9 ISL, Ch. 12 ESL)
+
|10/05/2023 || Wednesday || 15:15-18:15 || 25.1.3 || Matteo Matteucci || Lecture || [https://politecnicomilano.webex.com/politecnicomilano/ldr.php?RCID=b72183c179103507ba83026ef78e4fdb The Perceptron (Ch. 4 ESL, Ch. 9 ISL, Ch. 12 ESL)]
 
|-
 
|-
|11/05/2023 || Thursday || 12:15-14:15 || B6.4 || Matteo Matteucci || Lecture || Support Vector Machines (Ch. 4 ESL, Ch. 9 ISL, Ch. 12 ESL)  
+
|11/05/2023 || Thursday || 12:15-14:15 || B6.4 || Matteo Matteucci || Lecture || [https://politecnicomilano.webex.com/politecnicomilano/ldr.php?RCID=e5fe09884a24cd79e3a82949b6622623 Support Vector Machines (Ch. 4 ESL, Ch. 9 ISL, Ch. 12 ESL)]
 
|-
 
|-
|17/05/2023 || Wednesday || 15:15-18:15 || 25.1.3 || Matteo Matteucci || Lecture  || Unsupervised Learning and Clustering (Ch. 10 ISL)   
+
|17/05/2023 || Wednesday || 15:15-18:15 || 25.1.3 || Matteo Matteucci || Lecture  || [https://politecnicomilano.webex.com/politecnicomilano/ldr.php?RCID=9aeb20c029ec62d95ee3606fec228b2e Unsupervised Learning and Clustering (Ch. 10 ISL)]    
 
|-
 
|-
|18/05/2023 || Thursday || 12:15-14:15 || B6.4 || Matteo Matteucci || Lecture || Clustering (Ch. 10 ISL)
+
|18/05/2023 || Thursday || 12:15-14:15 || B6.4 || Matteo Matteucci || Lecture || [https://politecnicomilano.webex.com/politecnicomilano/ldr.php?RCID=f0e15b55876fd5294c60f4120717f844 Clustering (Ch. 10 ISL)]
 
|-
 
|-
|24/05/2023 || Wednesday || 15:15-18:15 || 25.1.3 || Stefano Samele || Python Laboratory || SVM and Classifiers Evaluation Laboratory Clustering Laboratory
+
|24/05/2023 || Wednesday || 15:15-18:15 || 25.1.3 || Stefano Samele || Python Laboratory || [https://politecnicomilano.webex.com/politecnicomilano/ldr.php?RCID=77f47e3fa63844aab79155bc67c8307c SVM and Classifiers Evaluation Laboratory Clustering Laboratory]
 
|-
 
|-
|25/05/2023 || Thursday || 12:15-14:15 || B6.4 || Matteo Matteucci || Lecture || Clustering (Ch. 10 ISL) + Clustering Evaluation
+
|25/05/2023 || Thursday || 12:15-14:15 || B6.4 || -- || -- || -- No Lecture --
 
|-
 
|-
|31/05/2023 || Wednesday || 15:15-18:15 || 25.1.3 || Stefano Samele || Python Laboratory || Clustering Laboratory
+
|31/05/2023 || Wednesday || 15:15-18:15 || 25.1.3 || Matteo Matteucci || Lecture || [https://politecnicomilano.webex.com/politecnicomilano/ldr.php?RCID=2861ce3254fb3fa0c1572f5cb2f1a3dd Clustering (Ch. 10 ISL) + Clustering Evaluation]
 
|-
 
|-
|01/06/2023 || Thursday || 12:15-14:15 || B6.4 || Matteo Matteucci || Lecture || Principal Component Analysis
+
|01/06/2023 || Thursday || 12:15-14:15 || B6.4 || Matteo Matteucci || Lecture || [https://politecnicomilano.webex.com/politecnicomilano/ldr.php?RCID=4b2c7298878aaf7ffc2f767c5c588a66 Principal Component Analysis]
 
|-
 
|-
|07/06/2023 || Wednesday || 15:15-18:15 || 25.1.3 || Matteo Matteucci || Lecture || <Spare>
+
|07/06/2023 || Wednesday || 15:15-18:15 || 25.0.1 || Stefano Samele || Python Laboratory || [https://politecnicomilano.webex.com/politecnicomilano/ldr.php?RCID=8353e217225b156a1d60e7cf517ee6b1 Clustering Laboratory]
 
|-
 
|-
|08/06/2023 || Thursday || 12:15-14:15 || B6.4 || Matteo Matteucci || Lecture || <Spare>
+
|08/06/2023 || Thursday || 12:15-14:15 || 25.0.1 || Matteo Matteucci || Lecture || [https://politecnicomilano.webex.com/politecnicomilano/ldr.php?RCID=e4d05379ceb4747e0fe221d5e50dae56 Question and Answers]
 
|}
 
|}
 
<!--
 
<!--
Line 388: Line 391:
  
 
At [https://docs.google.com/document/d/14_K0CcyjRcZXJWBE5WwhsadL3cTUjc5__1x2nDL_G7E/edit?usp=sharing this link] you can find a detailed syllabus of the course you can use to double-check your preparation before the oral exam ;-)
 
At [https://docs.google.com/document/d/14_K0CcyjRcZXJWBE5WwhsadL3cTUjc5__1x2nDL_G7E/edit?usp=sharing this link] you can find a detailed syllabus of the course you can use to double-check your preparation before the oral exam ;-)
 +
 +
====Homework 2022/2023====
 +
 +
This year [[Media:ML-2223-HW.zip | Homework]] is based on the Online Shoppers Purchasing Intention dataset and aims to build a classification model that can predict whether or not an online shopper has the intention to make a purchase. You will have to go through regression, classification and clustering tho ...
 +
 +
Deadline: 31/07/2023
  
 
<!--
 
<!--
Line 468: Line 477:
 
*[[Media:ML2223-lab02.zip | [2022/2023] Material for the second lab session]]: some useful jupiter notebooks which will be used during the second lab session ([[Media:ML2223-lab02_solutions.zip |complete version]])
 
*[[Media:ML2223-lab02.zip | [2022/2023] Material for the second lab session]]: some useful jupiter notebooks which will be used during the second lab session ([[Media:ML2223-lab02_solutions.zip |complete version]])
 
*[[Media:ML2223-lab03.zip | [2022/2023] Material for the third lab session]]: some useful jupiter notebooks which will be used during the third lab session ([[Media:ML2223-lab03_solutions_part1.zip |complete version]])
 
*[[Media:ML2223-lab03.zip | [2022/2023] Material for the third lab session]]: some useful jupiter notebooks which will be used during the third lab session ([[Media:ML2223-lab03_solutions_part1.zip |complete version]])
<!--
+
*[[Media:ML2223-lab04.zip | [2022/2023] Material for the fourth lab session]]: some useful jupiter notebooks which will be used during the fourth lab session ([[Media:ML2223-lab04_solutions.zip |complete version]])
*[[Media:ML2122-lab04.zip | [2021/2022] Material for the fourth lab session]]: some useful jupiter notebooks which will be used during the fourth lab session ([[Media:ML2122-lab04_solutions.zip |complete version]])
+
*[[Media:ML2223-lab05.zip | [2022/2023] Material for the fifth lab session]]: some useful jupiter notebooks which will be used during the fifth lab session ([[Media:ML2223-lab05_solutions.zip |complete version]])
*[[Media:ML2122-lab05.zip | [2021/2022] Material for the fifth lab session]]: some useful jupiter notebooks which will be used during the fifth lab session ([[Media:ML2122-lab05_solutions.zip |complete version]])
+
*[[Media:ML2223-lab06.zip | [2022/2023] Material for the sixth lab session]]: some useful jupiter notebooks which will be used during the sixth lab session ([[Media:ML2223-lab06_solutions.zip |complete version]])
*[[Media:ML2122-lab06.zip | [2021/2022] Material for the sixth lab session]]: some useful jupiter notebooks which will be used during the sixth lab session ([[Media:ML2122-lab06_solutions.zip |complete version]])
+
 
-->
+
 
<!--
 
<!--
 
*[[Media:ML2021-lab01.zip | [2020/2021] Material for the first lab session]]: some useful jupiter notebooks which will be used during the first lab session ([[Media:ML2021-lab01_solutions.zip |complete version]])
 
*[[Media:ML2021-lab01.zip | [2020/2021] Material for the first lab session]]: some useful jupiter notebooks which will be used during the first lab session ([[Media:ML2021-lab01_solutions.zip |complete version]])

Latest revision as of 22:57, 4 September 2023


The following are last-minute news you should be aware of ;-)

* 04/09/2023: Grades of summer calls and projects are HERE!
* 31/05/2023: Check the change of classroom for the last two lectures of the course!!
* 03/05/2023: Homework project published
* 15/03/2023: Material for first lab published
* 03/03/2023: Lecture schedule updated ... also with recordings
* 22/02/2023: Added link to the lecture recording
* 22/02/2023: Lectures start today!

Course Aim & Organization

The objective of the Machine Learning course is to give an in-depth presentation of the techniques most used for pattern recognition, knowledge discovery, and data analysis/modeling. These techniques are presented both from a theoretical (i.e., statistics and information theory) perspective and a practical one (i.e., coding examples) through the descriptions of algorithms and their implementations in a general-purpose programming language (i.e., python).

The course presents the classical supervised and unsupervised learning paradigms described and discussed presenting regression, classification, and clustering problems in Bioinformatics. The course is composed of a set of lectures on specific machine learning techniques (e.g., generalized linear regression, logistic regression, linear and quadratic discriminant analysis, support vector machines, k-nearest-neighborhood, clustering, etc.) preceded by the introduction of the Statistical Learning framework which acts as a common reference framework for the entire course.

Teachers

The course is composed of a blending of lectures and exercises by the course teacher and a teaching assistant.

Course Program

The course mostly follows the following book which is also available for download in pdf

The course lectures will present the theory and practice of the following:

  • Machine Learning and Pattern Classification: the general concepts of Machine Learning and Pattern Recognition are introduced within the framework of Statistical Decision Theory with reference to the bias-variance trade-off and the Bayes classifier;
  • Generalized Linear Regression: linear methods for regression will be presented and discussed introducing different techniques (e.g., Linear Regression, Ridge Regression, K-Nearest Neighbors Regression, Non-Linear Regression, etc.) and the most common methodologies for model validation and selection (e.g., AIC, BIC, cross-validation, stepwise feature selection, Lasso, etc.).
  • Linear and Non-Linear Classification: generative and discriminative techniques for classification will be described and discussed (e.g., Logistic Regression, Linear and Quadratic Discriminant Analysis, K-Nearest Neighbors, Perceptron Rule, and Support Vector Machines, etc.). Metrics for classifiers evaluation and comparison are presented in this part of the course (e.g., accuracy, precision, recall, ROC, AUC, F-measure, Matthew coefficient).
  • Unsupervised Learning: the most common approaches to unsupervised learning are described mostly focusing on clustering methods such as hierarchical clustering, k-means, k-medoids, Mixture of Gaussians, DBSCAN, etc

These topics will be presented both from a theoretical perspective and a practical one via implementations in the general-purpose programming language python.

Detailed course schedule

A detailed schedule of the course can be found here; topics are just indicative while days and teachers are correct up to some last-minute change (I will notify you by email). Please note that not all days we have lectures!!

Note: Lecture timetable interpretation
* On Wednesday, in room 25.1.3, starts at 15:15 (cum tempore), ends at 18:15
* On Thursday, in room B6.4, starts at 12:15 (cum tempore), ends at 14:15
Date Day Time Room Teacher Type Topic
22/02/2022 Wednesday 15:15-18:15 25.1.3 Matteo Matteucci Lecture Machine Learning Intro
23/02/2023 Thursday 12:15-14:15 B6.4 Stefano Samele Lecture Introduction to Linear Algebra
01/03/2023 Wednesday 15:15-18:15 25.1.3 Matteo Matteucci Lecture Statistical Learning Theory (Ch. 1 ISL)
02/03/2023 Thursday 12:15-14:15 B6.4 Matteo Matteucci Lecture Statistical Learning Theory - Bias/Variance Trade-off (Ch. 2 ISL)
08/03/2023 Wednesday 15:15-18:15 25.1.3 Matteo Matteucci Lecture Simple Linear Regression (Ch. 2 ISL + Ch. 3 ISL)
09/03/2023 Thursday 12:15-14:15 B6.4 -- -- -- No Lecture --
15/03/2023 Wednesday 15:15-18:15 25.1.3 Stefano Samele Python Laboratory Python + Numpy + Bias/Variance
16/03/2023 Thursday 12:15-14:15 B6.4 -- -- -- No Lecture --
22/03/2023 Wednesday 15:15-18:15 25.1.3 Matteo Matteucci Lecture Multi Variate Linear Regression (Ch. 2 ISL + Ch. 3 ISL)
23/03/2023 Thursday 12:15-14:15 B6.4 Matteo Matteucci Lecture Multi Variate Linear Regression (Ch. 2 ISL + Ch. 3 ISL)
29/03/2023 Wednesday 15:15-18:15 25.1.3 Matteo Matteucci Lecture Generalized Linear Regression (Ch. 2 ISL + Ch. 3 ISL)
30/03/2023 Thursday 12:15-14:15 B6.4 Matteo Matteucci Lecture Feature Selection, Ridge Regression and Lasso (Ch. 3 + Ch. 6 ISL)
05/04/2023 Wednesday 15:15-18:15 25.1.3 Stefano Samele Python Laboratory Multivariate Linear Regression Laboratory
06/04/2023 Thursday 12:15-14:15 B6.4 Matteo Matteucci Lecture Classification: KNN and Logistic Regression (Ch. 4 ISL + Ch. 4 ESL)
12/04/2023 Wednesday 15:15-18:15 25.1.3 Stefano Samele Python Laboratory Generalized Linear Regression and Feature Selection Laboratory (Part 1) (Part 2)
13/04/2023 Thursday 12:15-14:15 B6.4 Matteo Matteucci Lecture Classification: Logistic Regression (Ch. 4 ISL + Ch. 4 ESL)
19/04/2023 Wednesday 15:15-18:15 25.1.3 -- -- -- Prove Itinere --
20/04/2023 Thursday 12:15 - 14:15 B6.4 -- -- -- Prove Itinere --
26/04/2023 Wednesday 15:15-18:15 25.1.3 Matteo Matteucci Lecture Classification: Linear Discriminanr Analysis (Ch. 4 ISL)
27/04/2023 Thursday 12:15 - 14:15 B6.4 Matteo Matteucci Lecture Evaluation methods for classification
03/05/2023 Wednesday 15:15-18:15 25.1.3 Stefano Samele Python Laboratory Logistic Regression and LDA Laboratory
04/05/2023 Thursday 12:15-14:15 B6.4 -- -- -- Graduation --
10/05/2023 Wednesday 15:15-18:15 25.1.3 Matteo Matteucci Lecture The Perceptron (Ch. 4 ESL, Ch. 9 ISL, Ch. 12 ESL)
11/05/2023 Thursday 12:15-14:15 B6.4 Matteo Matteucci Lecture Support Vector Machines (Ch. 4 ESL, Ch. 9 ISL, Ch. 12 ESL)
17/05/2023 Wednesday 15:15-18:15 25.1.3 Matteo Matteucci Lecture Unsupervised Learning and Clustering (Ch. 10 ISL)
18/05/2023 Thursday 12:15-14:15 B6.4 Matteo Matteucci Lecture Clustering (Ch. 10 ISL)
24/05/2023 Wednesday 15:15-18:15 25.1.3 Stefano Samele Python Laboratory SVM and Classifiers Evaluation Laboratory Clustering Laboratory
25/05/2023 Thursday 12:15-14:15 B6.4 -- -- -- No Lecture --
31/05/2023 Wednesday 15:15-18:15 25.1.3 Matteo Matteucci Lecture Clustering (Ch. 10 ISL) + Clustering Evaluation
01/06/2023 Thursday 12:15-14:15 B6.4 Matteo Matteucci Lecture Principal Component Analysis
07/06/2023 Wednesday 15:15-18:15 25.0.1 Stefano Samele Python Laboratory Clustering Laboratory
08/06/2023 Thursday 12:15-14:15 25.0.1 Matteo Matteucci Lecture Question and Answers

Chapters are intended as complete except for

  • Ch.4 ESL: Section 4.5
  • Ch.12 ESL: Sections 12.1, 12.2, 12.3
  • Ch.9 ISL: Sections 9.1, 9.2, 9.3

Course Evaluation

The course evaluation is composed by two parts:

  • HW: Homework with exercises covering the whole program (up to 6 points)
  • OR: An oral discussion covering the whole program (up to 26 points)

the final score will be the sum of HW (not compulsory) and OR scores. You will get the oral grade as a mark in the scale of 30 up to 32/30 which you have to multiply by 0.8125 and then you add to it the score of the project. For your convenience here it is a conversion table with the final mark in case you do not turn in the project or you get the whole 6 marks in the project.

Notes about oral exams

Oral exams will happen either on the day of the exam indicated by the information system of the university or one of the followings. Once registrations are closed, I will send you an online document with the slots available for the oral exam and you will have to select your preferred slot. I usually interview two people at a time and the slot is 1 hour.

At this link you can find a detailed syllabus of the course you can use to double-check your preparation before the oral exam ;-)

Homework 2022/2023

This year Homework is based on the Online Shoppers Purchasing Intention dataset and aims to build a classification model that can predict whether or not an online shopper has the intention to make a purchase. You will have to go through regression, classification and clustering tho ...

Deadline: 31/07/2023


Teaching Material (the textbook)

Lectures will be based on material taken from the book.

If you are interested in a more deep treatment of the topics you can refer to the following book from the same authors

Some additional material that could be used to prepare the oral examination will be provided together with the past homeworks.

Teacher Slides

In the following you can find the lecture slides used by the teacher and the teaching assistants during classes.

Laboratories

We will use Python (with Jupyter notebooks) throughout the course, thus we kindly ask you to install the "Anaconda" package to be ready for the labs. Here are the download links. You can find a simple Jupyter notebook HERE to test if the installation succeeded.

To open the notebook

  • launch the "Anaconda Navigator" app
  • launch the "jupyter Notebook" app within the navigator, it should automatically open a webpage (it may take a while)
  • on the webpage, navigate on the folder where you downloaded the "lab01.00-TestEnvironment.ipynb" file, and press on the file to open it
  • then follow the instruction within the notebook

If you didn't install anaconda but just jupyter, or if you can't find Anaconda Navigator

  • open a shell ("Anaconda Prompt" if you are using Windows)
  • move on to the folder where you downloaded "lab01.00-TestEnvironment.ipynb"
  • run the "jupyter notebook" command, it should automatically open a webpage
  • then on the webpage press on the "lab01.00-TestEnvironment.ipynb" file and follow the instructions within the notebook

The following are the notebook used in the labs:


Additional Resources

Papers and links useful to integrate the textbook

  • Basic Linear Algebra: "Basic Linear Algebra" chapter from Wayne Winston book "Operations Research Applications and Algorithms (4th ed.)"
  • Bias vs. Variance: "Understanding the Bias-Variance Tradeoff" essay by Scott Fortmann-Roe
  • Karush Kuhn Tucker Conditions: a short note on their meaning with references to relevant wikipedia pages
  • Seeing Theory: a website where the basic concepts of probability and statistics are explained in a visual way.

Python examples to better practice with numpy library

Year 2020/2021 Recordings (use at your own risk)

As I registered these due to pandemics, I am making them available. They DO NOT REPLACE THIS YEAR classroom lectures which are to be considered as the official material of this year, but they might be useful to double-check your notes.

Also, labs are available, however, the teaching assistant this year has changed.

Online Resources

The following are links to online sources which might be useful to complement the material above

  • An Introduction to Linear Algebra with numpy examples. It provides the very fundamental definitions, does not cover eigenvalues and eigenvectors.
  • Statistical Learning MOOC covering the entire ISL book offered by Trevor Hastie and Rob Tibshirani. Start anytime in self-paced mode.
  • MATH 574M University of Arizona Course on Statistical Machine Learning and Data Mining; here you can find slides covering part of the course topics (the reference book for this course is again The Elements of Statistical Learning)