Features that remember where they came from
A feature is a definition, not a column. The value of writing it down once is that two models can use the same definition and mean the same thing by it - and that when the source column changes, every feature built on it can be found.
What a feature carries
Versions
A feature definition changes. Each change is a version, so a model trained against version 2 is not silently rescored against version 5.
Source columns
Which dataset columns a version was computed from, as rows. This is the link that makes "what breaks if we drop this column" a query.
Dependencies
A feature built on other features records that, so a change propagates as a list of affected definitions instead of a surprise.
Sensitivity
Public, internal, confidential, personal data or restricted. Carried by the feature itself rather than inferred at the moment somebody is in a hurry.
Feature sets
The named group a model actually consumes, versioned in its own right, with members as rows.
Membership
Which feature version is in which feature set version. A junction, so a set can be reconstructed exactly as it was.
Why sensitivity belongs on the feature
Classification is usually done on the source column and then lost the moment anything derives from it. A feature computed from a date of birth is not automatically recognised as personal data by the system that stores it, and the derived column quietly escapes the policy that covered its source.
Recording sensitivity on the feature, alongside the source columns it came from, means the egress rules that decide what may be sent to an external model have something to read. The classification decision is still a human one; what the platform contributes is that the decision is attached to the thing that travels.
Questions about features
Does DataLens compute the features for me?
The definition, its version, its lineage and its sensitivity are recorded here. Where the computation runs depends on the integration you attach it to.
What happens when a source column is renamed or dropped?
The feature versions built on it are findable by that link, so the impact is a list rather than an investigation.
Why version feature sets and not just features?
Because what a model consumes is the set. If only the members were versioned, "which features did this model see" would be answerable only by reconstructing the set from dates.
Where this is today
The machine learning layer is in build. What is described on this page is the data and governance model that is implemented in the platform: the tables that hold it, the rules that enforce it, and the refusals that happen when a rule is not satisfied.
The Data Science tab is in the application. It reads: the model registry and its versions, the approval held for each version in each environment, the integrations and whether each one may currently be called, the record of every run including the refused ones, the projects, and the egress rules. It does not invoke a model - running belongs to the execution provider, and the record of a run is audit evidence that a browser must not be able to write.
The rest of the ML layer
Model registry
Every model and model version recorded once, with its task, framework, licence and where it runs.
Model trust and approval
A model version is approved per environment, with an expiry, or it does not run. Absent approval is a no.
Training data and splits
Dataset snapshots and reproducible train, validation and test splits that can be rerun and compared.
ML projects and access
A project gathers datasets, features, models and integrations, and only granted data scientists can act.
Evaluation and runs
Model scores recorded against the same evaluation model as AI steps, and every invocation kept as a run.
Data egress controls
What leaves the platform when a model is called elsewhere, decided per field before the call is made.
Talk to us about the ML layer
DataLens is in private beta. If model governance is the reason you are here, say so when you request access - the ML layer is being built against real use rather than a roadmap.
Request beta access