Custom Descriptor Tutorial¶
This tutorial explains how to think about extending Surfacia with additional descriptors while preserving interpretability.
Design Principles¶
keep descriptors physically meaningful
avoid redundant features when possible
document naming and units clearly
ensure outputs remain compatible with compact modeling
What Makes a Good Surfacia Descriptor¶
A useful descriptor should usually satisfy most of these conditions:
it has a clear physicochemical interpretation
it can be compared across molecules consistently
it adds information not already captured by many existing features
it remains understandable after SHAP-based interpretation
Good Candidates¶
descriptors tied to a known chemical hypothesis
additional local summaries over meaningful structural units
derived quantities that help interpretation rather than obscure it
Less Helpful Additions¶
Be cautious about adding descriptors that:
duplicate an existing feature under a different name
are difficult to explain chemically
depend strongly on arbitrary preprocessing choices
produce large feature growth without a clear interpretation benefit
Naming Suggestions¶
Follow the existing Surfacia style whenever possible:
use meaningful prefixes such as
Atom_,Fun_, orFragment_make units and scale easy to infer from the documentation
keep statistical suffixes systematic:
_min,_max,_mean,_delta
Validation Checklist¶
Before treating a new descriptor as useful, ask:
does it vary meaningfully across molecules?
does it stay numerically stable?
does it survive compact feature selection in at least some tasks?
can a chemist understand what a high or low value means?