That is, after
embedding = umap.UMAP()
embedding.fit(X)
then the result should be
embedding.embedding_ == X
Then, ideally, any following transform (embedding.transform(test_x)) will lead to the input being mapped to itself (that is,
test_x == embedding.transform(test_x)
)
I tried setting various parameters to the UMAP object such as setting the dimensions equal to the dimension of the data, or the number of neighbors equal to the number of data points but that didn't work.
I also tried directly setting embedding.embedding_ to X but the transform method wouldn't work since internal variables that the fit method sets that the transform method requires weren't set.