Linear Discriminant Analysis

What is Linear Discriminant Analysis (LDA)?

Linear Discriminant Analysis (LDA) is a dimensionality reduction technique used in machine learning and statistics to find a linear combination of features that best separates two or more classes of objects or events. LDA is particularly useful for classification tasks, as it can be used to reduce the number of dimensions while preserving the class-discriminatory information in the dataset.

How does LDA work?

LDA works by maximizing the ratio of between-class variance to within-class variance in the dataset, effectively finding the axis that best separates the different classes. The resulting linear transformation can then be used to project the original dataset into a lower-dimensional space, making it easier to analyze and classify.

Example of Linear Discriminant Analysis in Python:

To perform LDA using Python, you can use the scikit-learn library. Here’s a simple example:

from sklearn.datasets import load_iris
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# Load the Iris dataset
iris = load_iris()
X, y =,

# Split the data into training and test sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Perform LDA
lda = LinearDiscriminantAnalysis(), y_train)

# Test the LDA model
y_pred = lda.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy:.2f}")

Resources on Linear Discriminant Analysis: