SkillAgentSearch skills...

pca-decomposition

Reduce dimensionality of multivariate data using PCA with varimax rotation

Install / Use

npx skills add benchflow-ai/skillsbench --skill pca-decomposition

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

86/100

Supported Platforms

Universal

Tags

Our assessment of pca-decomposition

pca-decomposition scores 86/100 on our quality scale, 19th of 63 Project & Program Management skills we index (top 31%).

Its SKILL.md is 3.9 KB long, well organised into 23 sections with 5 code examples: a solid amount of guidance for an agent.

With 1,813 GitHub stars, it is one of the more widely adopted skills in the catalogue.

Substance
26/30
Structure
20/20
Description
12/15
Adoption
14/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated about 2 months ago, so pca-decomposition is actively maintained.
  • It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

pca-decomposition compared with similar skills

All 4 of these similar skills score higher than pca-decomposition; compare them before choosing.

SkillScoreStarsUpdatedFormat
pca-decomposition (this skill)by benchflow-ai861.8k2mo agoSKILL.md
algorithmic-artby anthropics100177.9k7d agoSKILL.md
pptxby anthropics100177.9k7d agoSKILL.md
designby nextlevelbuilder100130.2k9d agoSKILL.md
ui-ux-pro-maxby nextlevelbuilder100130.2k9d agoSKILL.md

Frequently asked questions

How do I install pca-decomposition?
Run npx skills add benchflow-ai/skillsbench --skill pca-decomposition. The install tabs above show the steps for each supported agent.
Which AI agents does pca-decomposition work with?
It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
Is pca-decomposition safe to use?
It is Apache-2.0-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is pca-decomposition still maintained?
The repository was last updated about 2 months ago, so pca-decomposition is actively maintained.

name: pca-decomposition description: Reduce dimensionality of multivariate data using PCA with varimax rotation. Use when you have many correlated variables and need to identify underlying factors or reduce collinearity. license: MIT

PCA Decomposition Guide

Overview

Principal Component Analysis (PCA) reduces many correlated variables into fewer uncorrelated components. Varimax rotation makes components more interpretable by maximizing variance.

When to Use PCA

  • Many correlated predictor variables
  • Need to identify underlying factor groups
  • Reduce multicollinearity before regression
  • Exploratory data analysis

Basic PCA with Varimax Rotation

from sklearn.preprocessing import StandardScaler
from factor_analyzer import FactorAnalyzer

# Standardize data first
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

# PCA with varimax rotation
fa = FactorAnalyzer(n_factors=4, rotation='varimax')
fa.fit(X_scaled)

# Get factor loadings
loadings = fa.loadings_

# Get component scores for each observation
scores = fa.transform(X_scaled)

Workflow for Attribution Analysis

When using PCA for contribution analysis with predefined categories:

  1. Combine ALL variables first, then do PCA together:
# Include all variables from all categories in one matrix
all_vars = ['AirTemp', 'NetRadiation', 'Precip', 'Inflow', 'Outflow',
            'WindSpeed', 'DevelopedArea', 'AgricultureArea']
X = df[all_vars].values

scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

# PCA on ALL variables together
fa = FactorAnalyzer(n_factors=4, rotation='varimax')
fa.fit(X_scaled)
scores = fa.transform(X_scaled)
  1. Interpret loadings to map factors to categories (optional for understanding)

  2. Use factor scores directly for R² decomposition

Important: Do NOT run separate PCA for each category. Run one global PCA on all variables, then use the resulting factor scores for contribution analysis.

Interpreting Factor Loadings

Loadings show correlation between original variables and components:

| Loading | Interpretation | |---------|----------------| | > 0.7 | Strong association | | 0.4 - 0.7 | Moderate association | | < 0.4 | Weak association |

Example: Economic Indicators

import pandas as pd
from sklearn.preprocessing import StandardScaler
from factor_analyzer import FactorAnalyzer

# Variables: gdp, unemployment, inflation, interest_rate, exports, imports
df = pd.read_csv('economic_data.csv')
variables = ['gdp', 'unemployment', 'inflation',
             'interest_rate', 'exports', 'imports']

X = df[variables].values
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

fa = FactorAnalyzer(n_factors=3, rotation='varimax')
fa.fit(X_scaled)

# View loadings
loadings_df = pd.DataFrame(
    fa.loadings_,
    index=variables,
    columns=['RC1', 'RC2', 'RC3']
)
print(loadings_df.round(2))

Choosing Number of Factors

Option 1: Kaiser Criterion

# Check eigenvalues
eigenvalues, _ = fa.get_eigenvalues()

# Keep factors with eigenvalue > 1
n_factors = sum(eigenvalues > 1)

Option 2: Domain Knowledge

If you know how many categories your variables should group into, specify directly:

# Example: health data with 3 expected categories (lifestyle, genetics, environment)
fa = FactorAnalyzer(n_factors=3, rotation='varimax')

Common Issues

| Issue | Cause | Solution | |-------|-------|----------| | Loadings all similar | Too few factors | Increase n_factors | | Negative loadings | Inverse relationship | Normal, interpret direction | | Low variance explained | Data not suitable for PCA | Check correlations first |

Best Practices

  • Always standardize data before PCA
  • Use varimax rotation for interpretability
  • Check factor loadings to name components
  • Use Kaiser criterion or domain knowledge for n_factors
  • For attribution analysis, run ONE global PCA on all variables

Related Skills

View on GitHub
GitHub Stars1.8k
CategoryProject
Updated2mo ago
Forks368

Languages

PDDL

Trust signals

100/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

No cautions