Feature Engineering Transform Graph (2D)
A 2D Canvas companion to the 3D transform graph: raw feature columns feed real scale, power, interaction and binning transforms, each scored against a synthetic target by an actual Pearson correlation — drag the selection threshold and watch which engineered features earn their keep.
The 3D version renders this pipeline as an instanced sphere-graph inside a WebGL scene, glowing nodes firing on a random threshold. This 2D companion keeps the same raw → transform → engineered-feature shape but replaces the random firing with a real computation: a synthetic dataset of 160 samples is generated around a hidden latent factor, each raw feature carries a random mix of that true signal and noise, and every transform node (scale, power, interaction or binning) produces a value whose actual Pearson correlation with the target is measured live. Only engineered features whose |r| clears your Selection threshold slider light up green — this is feature selection, not decoration.
A hidden latent variable z drives both the synthetic target y = z + noise and every raw feature (weight·z + a small quadratic term + independent noise), so some raw columns carry real signal and most are mostly noise — realistic for a feature-engineering exercise. Each transform node combines 1–3 raw features (fan-in set by Transform connectivity) using one of four real transforms: z-score averaging, a signed power curve x^strength, a product interaction term, or quantile binning, all shaped by the Transform strength slider. Every transform's output is scored against the target with the standard Pearson correlation formula, and the Selection threshold slider is a live |r| cutoff — exactly what a feature-selection step does before a model ever sees the data.
2D · HTML5 Canvas 2D · 60 FPS target · runs fully client-side, no install
Frequently Asked Questions
Is the correlation shown here a real calculation, or just for show?
It's real. Every transform node's output is an actual array of 160 values computed from the synthetic raw features, and the displayed |r| is the standard Pearson correlation coefficient between that array and the synthetic target array — recomputed every time you move a slider or hit Resample data.
Why do most raw features start out weak, and transforms make some of them strong?
Each raw feature is generated with a random weight on the hidden latent factor — most weights are small, so on their own most raw columns barely correlate with the target. Combining several weak raw features through a transform (especially an interaction term) can average out noise or expose the shared signal, which is exactly why feature engineering routinely beats using raw columns directly.
What do the four transform colors mean?
Blue is z-score scaling (an average of its inputs), orange is a signed power curve that compresses or expands the distribution, purple is an interaction term (the product of two raw features), and pink is quantile binning (discretizing a continuous value into buckets). All four are standard, real feature-engineering techniques.