Datalens.ai
← All algorithms

DIMENSIONALITY

SparsePCA

Sparse Principal Components Analysis (SparsePCA).

Example of usage

Python API reference included; executable data demonstration pending review.

Usage / limitations

+Use when: Compress representations while preserving structure.

−Limitations: Check input requirements, mathematical assumptions and version-specific behaviour before using.

Mathematical formula

See method documentation: implementation and assumptions vary.
Sample dataShow
{
  "variable": "environment_observations",
  "domain": "Environmental monitoring and energy efficiency",
  "feature_names": [
    "temperature_c",
    "humidity_pct",
    "pm25_ug_m3",
    "co2_ppm",
    "energy_kwh"
  ],
  "records": [
    {
      "temperature_c": 18.0,
      "humidity_pct": 42.0,
      "pm25_ug_m3": 9.0,
      "co2_ppm": 410.0,
      "energy_kwh": 22.0
    },
    {
      "temperature_c": 18.68,
      "humidity_pct": 43.15,
      "pm25_ug_m3": 10.08,
      "co2_ppm": 415.2,
      "energy_kwh": 23.24
    },
    {
      "temperature_c": 19.36,
      "humidity_pct": 44.3,
      "pm25_ug_m3": 11.16,
      "co2_ppm": 420.4,
      "energy_kwh": 24.48
    },
    {
      "temperature_c": 18.54,
      "humidity_pct": 45.45,
      "pm25_ug_m3": 12.24,
      "co2_ppm": 425.6,
      "energy_kwh": 25.72
    },
    {
      "temperature_c": 19.22,
      "humidity_pct": 43.6,
      "pm25_ug_m3": 13.32,
      "co2_ppm": 430.8,
      "energy_kwh": 26.96
    },
    {
      "temperature_c": 19.9,
      "humidity_pct": 44.75,
      "pm25_ug_m3": 10.4,
      "co2_ppm": 436.0,
      "energy_kwh": 28.2
    },
    {
      "temperature_c": 19.08,
      "humidity_pct": 45.9,
      "pm25_ug_m3": 11.48,
      "co2_ppm": 423.2,
      "energy_kwh": 29.44
    },
    {
      "temperature_c": 19.76,
      "humidity_pct": 47.05,
      "pm25_ug_m3": 12.56,
      "co2_ppm": 428.4,
      "energy_kwh": 24.38
    },
    {
      "temperature_c": 20.44,
      "humidity_pct": 45.2,
      "pm25_ug_m3": 13.64,
      "co2_ppm": 433.6,
      "energy_kwh": 25.62
    },
    {
      "temperature_c": 19.62,
      "humidity_pct": 46.35,
      "pm25_ug_m3": 14.72,
      "co2_ppm": 438.8,
      "energy_kwh": 26.86
    },
    {
      "temperature_c": 20.3,
      "humidity_pct": 47.5,
      "pm25_ug_m3": 11.8,
      "co2_ppm": 444.0,
      "energy_kwh": 28.1
    },
    {
      "temperature_c": 20.98,
      "humidity_pct": 48.65,
      "pm25_ug_m3": 12.88,
      "co2_ppm": 449.2,
      "energy_kwh": 29.34
    },
    {
      "temperature_c": 20.16,
      "humidity_pct": 46.8,
      "pm25_ug_m3": 13.96,
      "co2_ppm": 436.4,
      "energy_kwh": 30.58
    },
    {
      "temperature_c": 20.84,
      "humidity_pct": 47.95,
      "pm25_ug_m3": 15.04,
      "co2_ppm": 441.6,
      "energy_kwh": 31.82
    },
    {
      "temperature_c": 21.52,
      "humidity_pct": 49.1,
      "pm25_ug_m3": 16.12,
      "co2_ppm": 446.8,
      "energy_kwh": 26.76
    },
    {
      "temperature_c": 20.7,
      "humidity_pct": 50.25,
      "pm25_ug_m3": 13.2,
      "co2_ppm": 452.0,
      "energy_kwh": 28.0
    },
    {
      "temperature_c": 21.38,
      "humidity_pct": 48.4,
      "pm25_ug_m3": 14.28,
      "co2_ppm": 457.2,
      "energy_kwh": 29.24
    },
    {
      "temperature_c": 22.06,
      "humidity_pct": 49.55,
      "pm25_ug_m3": 15.36,
      "co2_ppm": 462.4,
      "energy_kwh": 30.48
    },
    {
      "temperature_c": 21.24,
      "humidity_pct": 50.7,
      "pm25_ug_m3": 16.44,
      "co2_ppm": 449.6,
      "energy_kwh": 31.72
    },
    {
      "temperature_c": 21.92,
      "humidity_pct": 51.85,
      "pm25_ug_m3": 17.52,
      "co2_ppm": 454.8,
      "energy_kwh": 32.96
    },
    {
      "temperature_c": 22.6,
      "humidity_pct": 50.0,
      "pm25_ug_m3": 14.6,
      "co2_ppm": 460.0,
      "energy_kwh": 34.2
    },
    {
      "temperature_c": 21.78,
      "humidity_pct": 51.15,
      "pm25_ug_m3": 15.68,
      "co2_ppm": 465.2,
      "energy_kwh": 29.14
    },
    {
      "temperature_c": 22.46,
      "humidity_pct": 52.3,
      "pm25_ug_m3": 16.76,
      "co2_ppm": 470.4,
      "energy_kwh": 30.38
    },
    {
      "temperature_c": 23.14,
      "humidity_pct": 53.45,
      "pm25_ug_m3": 17.84,
      "co2_ppm": 475.6,
      "energy_kwh": 31.62
    },
    {
      "temperature_c": 22.32,
      "humidity_pct": 51.6,
      "pm25_ug_m3": 18.92,
      "co2_ppm": 462.8,
      "energy_kwh": 32.86
    },
    {
      "temperature_c": 23.0,
      "humidity_pct": 52.75,
      "pm25_ug_m3": 16.0,
      "co2_ppm": 468.0,
      "energy_kwh": 34.1
    },
    {
      "temperature_c": 23.68,
      "humidity_pct": 53.9,
      "pm25_ug_m3": 17.08,
      "co2_ppm": 473.2,
      "energy_kwh": 35.34
    },
    {
      "temperature_c": 22.86,
      "humidity_pct": 55.05,
      "pm25_ug_m3": 18.16,
      "co2_ppm": 478.4,
      "energy_kwh": 36.58
    },
    {
      "temperature_c": 23.54,
      "humidity_pct": 53.2,
      "pm25_ug_m3": 19.24,
      "co2_ppm": 483.6,
      "energy_kwh": 31.52
    },
    {
      "temperature_c": 24.22,
      "humidity_pct": 54.35,
      "pm25_ug_m3": 20.32,
      "co2_ppm": 488.8,
      "energy_kwh": 32.76
    }
  ]
}

Code example (Python)

# DataLens.ai example — Environmental monitoring and energy efficiency.
# Sample input is supplied by the Copy input + code + test button.
import numpy as np
from sklearn.preprocessing import StandardScaler

# Construct the feature matrix from labelled observations.
X = np.array([[row[name] for name in environment_observations["feature_names"]] for row in environment_observations["records"]], dtype=float)
Z = StandardScaler().fit_transform(X)

# Import and apply SparsePCA.
from sklearn.decomposition import SparsePCA
model = SparsePCA(n_components=2, random_state=17, max_iter=35, alpha=0.5)
embedding = model.fit_transform(Z)

# Test the resulting representation.
assert embedding.shape == (30, 2) and np.isfinite(embedding).all()
print("Expected output verified")