Skip to main content

FloDR

FloDR reduces high-dimensional data to two dimensions through an invertible normalising flow. The flow maps each point to as many coordinates as it came in with. The first two are the embedding and the rest are kept as a residual. Because the trained map is a bijection, the same model that draws the layout can decode positions back to the input space and give an exact log density for any point.

from flodr import FloDR

model = FloDR(random_state=0).fit(X)
Y = model.embedding_

FloDR follows the scikit-learn estimator interface. It fits, transforms, clones, pickles and runs inside a Pipeline like any other transformer.

What a fitted model offers​

Attribute or methodWhat it gives
embedding_the layout of the training data
transform, transform_optplace new points on the layout
inverse_latentdecode full latent coordinates back to inputs, exactly
inverse_transformdecode a position of the layout to one representative input
score_samplesthe log density of any input under the model
conditional_spread, hidden_contrastdiagnostic fields that report what the layout does not show, each with a held-out test

Where to go next​

Start with Installation and the Quickstart. The user guide explains fitting, which input to use and each part of a fitted model in turn. The API reference lists every parameter, attribute and method.