Skip to content
Back to skills

Data And Feature Columns

ASecurity

"Use this DeepCTR sub-skill for SparseFeat, DenseFeat,

  • 247 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 8, 2026
ai-agentspythongobashexpressrailsdebugging

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill data-and-feature-columns --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Data And Feature Columns?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Data And Feature Columns
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-data-and-feature-columns/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-data-and-feature-columns)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: data-and-feature-columns
description: "Use this DeepCTR sub-skill for SparseFeat, DenseFeat,
  VarLenSparseFeat, hashing, embedding sharing, input dictionaries, and tabular
  or sequence feature-column validation."
disable-model-invocation: true
metadata:
  disco-role: operating
license: Apache 2.0
---

# Data and Feature Columns

Use this sub-skill when the task is about preparing DeepCTR inputs before a model is chosen or trained: categorical ids, dense numerical vectors, variable-length sequences, feature hashing, vocabulary files, shared embeddings, and `get_feature_names`.

## When to use this sub-skill

- The user asks how to create `SparseFeat`, `DenseFeat`, or `VarLenSparseFeat` objects.
- The user has a tabular CTR/recommender dataset and needs model input dictionaries.
- The user is debugging missing input keys, bad shapes, string categorical values, sequence padding, `length_name`, `weight_name`, or shared embedding errors.
- The user wants to validate a feature-column plan before routing to Keras, sequence, multitask, or Estimator workflows.

## Route map

- Read [references/feature-columns.md](references/feature-columns.md) for constructor signatures, hashing, vocabulary files, embedding sharing, groups, and `get_feature_names`.
- Read [references/data-formats.md](references/data-formats.md) for tabular CTR, multi-value MovieLens-style features, DIN/BST history fields, and DSIN session fields.
- Read [references/troubleshooting.md](references/troubleshooting.md) when an error mentions `use_hash=True`, missing feature names, shape mismatch, padding id `0`, or incompatible shared embeddings.
- Run [scripts/validate_feature_spec.py](scripts/validate_feature_spec.py) when the user can express the intended features as a small JSON spec and wants preflight validation.

## Minimal workflow

1. List every raw feature and classify it as one categorical id, a dense scalar/vector, or a variable-length list of categorical ids.
2. Encode one-id categorical fields as integers and use `SparseFeat`, or set `use_hash=True` with `dtype="string"` when hashing string values on the fly.
3. Use `DenseFeat(name, dimension)` for dense vectors; make each input array shape match the declared dimension.
4. Use `VarLenSparseFeat(SparseFeat(...), maxlen=...)` for multi-value or sequence ids. Pad every row to `(batch_size, maxlen)`.
5. Keep `0` reserved for padding when a sequence field relies on masking instead of an explicit `length_name`.
6. Use the same `embedding_name` only when fields truly share one embedding table and have the same vocabulary size, embedding dimension, and trainability.
7. Call `get_feature_names(linear_feature_columns + dnn_feature_columns)` and build `model_input = {name: array for name in feature_names}`.
8. Route to:
   - [../keras-model-workflows/SKILL.md](../keras-model-workflows/SKILL.md) for ordinary Keras CTR/regression models.
   - [../sequence-models/SKILL.md](../sequence-models/SKILL.md) for DIN, DIEN, DSIN, or BST history/session fields.
   - [../multitask-models/SKILL.md](../multitask-models/SKILL.md) for multi-output labels.
   - [../estimator-workflows/SKILL.md](../estimator-workflows/SKILL.md) for TensorFlow `tf.feature_column` Estimator workflows.

## JSON validation helper

For a quick preflight, create a JSON file like:

```json
{
  "features": [
    {"type": "SparseFeat", "name": "item_id", "vocabulary_size": 1001, "embedding_dim": 8},
    {"type": "DenseFeat", "name": "score", "dimension": 1},
    {
      "type": "VarLenSparseFeat",
      "name": "hist_item_id",
      "maxlen": 4,
      "length_name": "seq_length",
      "sparsefeat": {"name": "hist_item_id", "vocabulary_size": 1001, "embedding_dim": 8, "embedding_name": "item_id"}
    }
  ]
}
```

Then run:

```bash
python sub-skills/data-and-feature-columns/scripts/validate_feature_spec.py feature_spec.json
```

The helper catches common structural mistakes; it does not replace a real TensorFlow model smoke test.

## Guardrails

- Do not use `dtype="string"` on `SparseFeat` or `VarLenSparseFeat` unless `use_hash=True` or values are pre-encoded.
- Do not set `maxlen` to the vocabulary size; `maxlen` is the number of ids in one row's list.
- Do not use `0` as a real category id for padded sequence features unless using an explicit length convention that still keeps masking consistent.
- Do not tell future agents to run source repository examples. Use this skill's bundled references and scripts, then route to the owning workflow sub-skill.

Files in this skill

  • SKILL.md4.4 KB
  • references/data-formats.md7.1 KB
  • references/feature-columns.md12.4 KB
  • references/troubleshooting.md5.4 KB
  • scripts/validate_feature_spec.py32.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.