Skip to content

Type error in optimize_embedding #22

@ftlbiped

Description

@ftlbiped

When running umap, I get the following error:

Error in eval(ei, envir) : 
  Not compatible with requested type: [type=character; target=double].

I've traced this to umap:::optimize_embedding, but because I don't speak C well I can't follow the .Call inside any further. I've checked all the arguments that are getting passed on to the C code, though, and none of them are character. The only thing I can see that might be out of place is that abg = c(NA, NA, 1, 0), and I don't know if those NAs are expected.

Running umap with its default settings does not produce the error; the settings I have are as follows:

umap configuration parameters
           n_neighbors: 15
          n_components: 2
                metric: euclidean
              n_epochs: 200
                 input: data
                  init: spectral
              min_dist: 0.1
      set_op_mix_ratio: 1
    local_connectivity: 1
             bandwidth: 1
                 alpha: 1
                 gamma: 1
  negative_sample_rate: 5
                     a: NA
                     b: NA
                spread: 1
          random_state: NA
       transform_state: NA
                   knn: NA
           knn_repeats: 1
               verbose: FALSE
       umap_learn_args: NA

Is this happening because a and b are NA? The function does warn me that

1: umap: parameters 'spread', 'a', 'b' are set to non-default values;
 parameter 'spread' will be ignored.
 (Embedding will be controlled via 'a' and 'b')

Which now that I write this seems suspicious. But umap.defaults also has a and b set to NA.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions