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

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)