Feature exposure (more specifically, max feature exposure) is a measure of how well balanced a model’s exposure is to the features. Models with lower feature exposures tend to have more consistent performance over the long run.
Credit to user jrb.
There is a trade off between neutralization (which increases consistency) and correlation.
Credit to user bobyfisch.
The following function will calculate the feature exposure with respect to a specific target.
def feature_exposures(df):
feature_names = [f for f in df.columns
if f.startswith("feature")]
exposures = []
for f in feature_names:
fe = spearmanr(df[PREDICTION_NAME], df[f])[0]
exposures.append(fe)
return np.array(exposures)
<aside> 💡 Examples of feature neutralization can be found in the Advanced example script.
</aside>
Numerai Forums
Model Diagnostics: Feature Exposure
An introduction to feature neutralization / exposure
Other Resources