"Use base umap.UMAP for unsupervised embedding, transforms, input
Scanned 9/9/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill core-embedding --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Core Embedding?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-core-embedding)More formats (shields.io, HTML) on the badges page.
---
name: core-embedding
description: "Use base umap.UMAP for unsupervised embedding, transforms, input
formats, metrics, reproducibility, and core API troubleshooting."
disable-model-invocation: true
metadata:
disco-role: operating
license: BSD 3-Clause
---
# Core UMAP Embedding
Use this sub-skill when the task is about the base `umap.UMAP` estimator: dimensionality reduction, `fit`/`fit_transform`, using `embedding_`, transforming held-out data, approximate inverse transforms, appending data with `update`, dense/sparse/precomputed inputs, metric selection, precomputed k-NN, reproducibility, and sklearn-style pipeline use.
## Fast routing
Read these bundled references for self-contained operating guidance:
- [API reference](references/api-reference.md): verified constructor and method signatures, fitted attributes, estimator behavior, and precomputed k-NN helpers.
- [Workflows](references/workflows.md): recipes for basic embedding, train/test transform, inverse transform, update, reproducibility, sklearn pipelines, and script usage.
- [Data and metrics](references/data-and-metrics.md): accepted data formats, sparse and precomputed-distance rules, metric categories, custom metric constraints, and parameter selection.
- [Troubleshooting](references/troubleshooting.md): recovery steps for shape, non-finite, metric, transform, disconnected-vertex, memory, parallelism, and optional TBB issues.
Bundled safe scripts:
- [`scripts/umap_core_smoke.py`](scripts/umap_core_smoke.py): fits a tiny local sklearn dataset, optionally checks transform, inverse, sparse, precomputed-distance, precomputed k-NN, and update paths, and prints JSON.
- [`scripts/inspect_umap_estimator.py`](scripts/inspect_umap_estimator.py): prints installed `umap` version/signatures and optionally diagnoses a trusted fitted estimator pickle.
## Choose this sub-skill for
- Creating a low-dimensional embedding with `umap.UMAP(...).fit_transform(X)` or `mapper.fit(X); mapper.embedding_`.
- Fitting UMAP inside an sklearn `Pipeline`, usually after scaling or vectorization, then passing the embedding to an estimator.
- Transforming held-out samples into an already learned UMAP space with `mapper.transform(X_new)`.
- Calling `inverse_transform` for approximate reconstruction from low-dimensional coordinates.
- Calling `update` to append new samples to an existing unsupervised, non-precomputed UMAP model.
- Using dense arrays, pandas/scikit-learn data, `scipy.sparse` matrices, `metric="precomputed"`, or `precomputed_knn`.
- Deciding base parameters such as `n_neighbors`, `min_dist`, `n_components`, `metric`, `output_metric`, `random_state`, `n_jobs`, `low_memory`, `force_approximation_algorithm`, and `transform_seed`.
- Recovering from core API misuse: wrong distance-matrix shape, unsupported metrics, non-finite input, transform before a usable fit, unexpected `n_jobs` behavior, or disconnected vertices.
## Route elsewhere
- Supervised labels, `target_metric*`, densMAP, density preservation, clustering, or outlier-analysis workflows belong in `../supervised-density/SKILL.md`.
- `AlignedUMAP` and UMAP model composition operators belong in `../aligned-composition/SKILL.md`.
- `umap.plot` and visual diagnostics belong in `../plotting-diagnostics/SKILL.md`.
- TensorFlow/Keras `ParametricUMAP` belongs in `../parametric-umap/SKILL.md`.
## Core operating rules
1. Treat `umap.UMAP` as an sklearn-style transformer: rows are samples, columns are features, and `fit` returns the estimator while `fit_transform` returns the embedding.
2. `embedding_` is the fitted training embedding with shape `(n_samples, n_components)` when `transform_mode="embedding"`.
3. For reproducible layouts, set `random_state`; expect UMAP to disable unsafe parallelism by overriding effective `n_jobs` to `1`. Leave `random_state=None` only when speed and multicore use matter more than exact repeatability.
4. `transform_seed` controls stochastic details of `transform`, not the original fitted layout.
5. Use `metric="precomputed"` only when fitting on a square train-train distance matrix; transform then needs a new-to-train distance matrix with shape `(n_new, n_train)`.
6. `precomputed_knn` can save neighbor-search time only when the neighbor graph matches the fit data and has at least `n_neighbors` columns. A two-array `(indices, distances)` tuple fits but cannot transform new raw samples because it lacks a search index.
7. `inverse_transform` is approximate and unavailable for sparse input, precomputed input, metrics without gradients, densMAP, and graph transform mode.
8. `update` mutates the fitted estimator, appending unsupervised non-precomputed data; it is not a general replacement for refitting when distribution shift is large.
9. Optional `plot`, `parametric_umap`, and `tbb` extras are not required for core UMAP. Treat them as optional and unverified unless the active environment has installed them.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!