Dimensionality Reduction Module
Dimensionality Reduction Module for DRIADA
This module provides various dimensionality reduction algorithms and
utilities for analyzing high-dimensional neural data. Graph-based methods
(Isomap, LLE, Laplacian Eigenmaps, UMAP, diffusion maps) construct a
ProximityGraph internally, which inherits from Network and gains full
spectral analysis capabilities. Access it via embedding.graph.
Comprehensive dimensionality reduction tools for analyzing high-dimensional neural data, including classical methods (PCA, FA), manifold learning (Isomap, UMAP), and neural network approaches (autoencoders).
Graph-based dimensionality reduction methods (Isomap, LLE, Laplacian Eigenmaps, UMAP, diffusion maps) construct
a ProximityGraph internally, which inherits from
Network. This means the proximity graph powering your
embedding has full spectral analysis, entropy, community detection, and visualization
capabilities. Access it via embedding.graph after running a graph-based method.
Module Components
Quick Links
- Core Classes
MVData- Multivariate data containerEmbedding- Embedding resultsProximityGraph- Graph-based methods (inherits fromNetwork)DRMethod- Method base class
- Main Functions
dr_sequence()- Sequential dimensionality reduction pipelineSee
METHODS_DICTfor available methods
- Manifold Quality Metrics
Manifold Metrics - Preservation, trustworthiness, continuity, and reconstruction metrics
- Neural Network Methods
Neural Network Methods - Autoencoders with flexible architecture and custom losses
Usage Example
import numpy as np
from driada.dim_reduction import MVData
# Generate example neural data
# 100 neurons, 1000 time points
neural_data = np.random.randn(100, 1000)
# Create data container
mvdata = MVData(neural_data, downsampling=5)
# Apply dimensionality reduction
embedding = mvdata.get_embedding(method='umap', dim=3)
# Validate quality
from driada.dim_reduction import knn_preservation_rate
quality = knn_preservation_rate(mvdata.data.T, embedding.coords.T, k=10)