Quick Start with scikit-learn
In this course, We will learn how to use scikit-learn to build predictive models from data. We will explore the basic concepts of machine learning and see how to use scikit-learn to solve supervised and unsupervised learning problems. We will also learn how to evaluate models, tune parameters, and avoid common pitfalls. We will work through examples of machine learning problems using real-world datasets.
Linear Models in Scikit-Learn
In this lab, we will explore linear models in scikit-learn. Linear models are a set of methods used for regression and classification tasks. They assume that the target variable is a linear combination of the features. These models are widely used in machine learning due to their simplicity and interpretability.
Discriminant Analysis Classifiers Explained
Linear and Quadratic Discriminant Analysis (LDA and QDA) are two classic classifiers used in machine learning. LDA uses a linear decision surface, while QDA uses a quadratic decision surface. These classifiers are popular because they have closed-form solutions, work well in practice, and have no hyperparameters to tune.
Exploring Scikit-Learn Datasets and Estimators
In this lab, we will explore the setting and the estimator object in scikit-learn, a popular machine learning library in Python. We will learn about datasets, which are represented as 2D arrays, and how to preprocess them for scikit-learn. We will also explore the concept of estimator objects, which are used to learn from data and make predictions.
Kernel Ridge Regression
In this lab, we will learn about Kernel Ridge Regression (KRR) and its implementation using the scikit-learn library in Python. KRR combines ridge regression with the kernel trick to learn a linear function in the space induced by the kernel. It is a non-linear regression method that can handle non-linear relationships between input and output variables.
Supervised Learning with Scikit-Learn
In supervised learning, we want to learn the relationship between two datasets: the observed data X and an external variable y that we want to predict.
Model Selection: Choosing Estimators and Their Parameters
In machine learning, model selection is the process of choosing the best model for a given dataset. It involves selecting the appropriate estimator and tuning its parameters to achieve optimal performance. This tutorial will guide you through the process of model selection in scikit-learn.
Supervised Learning with Support Vectors
In this tutorial, we will learn about Support Vector Machines (SVM), which are a set of supervised learning methods used for classification, regression, and outlier detection. SVMs are effective in high-dimensional spaces and can still perform well when the number of dimensions is greater than the number of samples.
Exploring Scikit-Learn SGD Classifiers
In this lab, we will explore Stochastic Gradient Descent (SGD), which is a powerful optimization algorithm commonly used in machine learning for solving large-scale and sparse problems. We will learn how to use the SGDClassifier and SGDRegressor classes from the scikit-learn library to train linear classifiers and regressors.
Unsupervised Learning: Seeking Representations of the Data
In this lab, we will explore the concept of unsupervised learning, specifically clustering and decomposition. Unsupervised learning is a type of machine learning where we don't have labeled data to train on. Instead, we try to find patterns or structures in the data without any prior knowledge. Clustering is a common unsupervised learning technique used to group similar observations together. Decomposition, on the other hand, is used to find a lower-dimensional representation of the data by extracting the most important features or components.
Implementing Stochastic Gradient Descent
Stochastic Gradient Descent (SGD) is a popular optimization algorithm used in machine learning. It is a variation of the gradient descent algorithm that uses a randomly selected subset of the training data at each iteration. This makes it computationally efficient and suitable for handling large datasets. In this lab, we will walk through the steps of implementing SGD in Python using scikit-learn.
Working with Text Data
In this lab, we will explore how to work with text data using scikit-learn, a popular machine learning library in Python. We will learn how to load text data, preprocess it, extract features, train a model, and evaluate its performance.
Gaussian Process Regression and Classification
In this lab, we will explore Gaussian Processes (GP), a supervised learning method used for regression and probabilistic classification problems. Gaussian Processes are versatile and can interpolate observations, provide probabilistic predictions, and handle different types of kernels. In this lab, we will focus on Gaussian Process Regression (GPR) and Gaussian Process Classification (GPC) using the scikit-learn library.
Dimensional Reduction with PLS Algorithms
The cross_decomposition module in scikit-learn contains supervised estimators for dimensionality reduction and regression, specifically for Partial Least Squares (PLS) algorithms. These algorithms find the fundamental relationship between two matrices by projecting them into a lower-dimensional subspace such that the covariance between the transformed matrices is maximal.
Naive Bayes Example
In this lab, we will go through an example of using Naive Bayes classifiers from the scikit-learn library in Python. Naive Bayes classifiers are a set of supervised learning algorithms that are commonly used for classification tasks. These classifiers are based on applying Bayes' theorem with the assumption of conditional independence between every pair of features given the value of the class variable.
Decision Tree Classification with Scikit-Learn
In this lab, we will learn how to use Decision Trees for classification using scikit-learn. Decision Trees are a non-parametric supervised learning method used for classification and regression. They are simple to understand and interpret, and can handle both numerical and categorical data.