lmcinnes / lmcinnes/umap

Feature Request: Include loss_ as an attribute for the fitting

Open
#174 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Good Reads
Dominant language
Python
Stars
8.3k
Forks
871
Avg merge
1d 13h
Merged PRs (30d)
5

Description

First off, thank you for implementing this method in Python! Very stoked to start using it for my bioinformatics datasets. I have been trying to quantify which parameters are the best for my datasets and having some trouble. I was wondering if the loss provided in your Enthought talk from SciPy 2018:
![image](https://user-images.githubusercontent.com/9061708/49530699-97ff1300-f86d-11e8-9d66-f4a596b4d786.png)

Could be included as an attribute we can access later so I can figure out which of my hyperparameters settings should be used?

I have a precomputed data matrix `(137 x 137)` and using the following hyperparameter configs:
```python
for n_neighbors in [3,4,5,6,7]:
for min_dist in [0.01, 0.1,0.2,0.3,0.5]:
for spread in [0.01, 0.1,0.2,0.3,0.5]:
for learning_rate in [1e-3, 1e-2,1e-1,1]:
```

There is some structure that fits my hypothesis from some of these configs and I want to know which one specifically I should choose so I thought maybe so sort of `loss_` metric would be really useful in this scenario.

Also. if you have a few moments. Can you describe why I see this topology sometimes where it looks like a regression?
![image](https://user-images.githubusercontent.com/9061708/49532094-9b47ce00-f870-11e8-9de7-4d5554e5dfe8.png)
![image](https://user-images.githubusercontent.com/9061708/49532144-b9153300-f870-11e8-8545-715fafbcd96c.png)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue does not name a file, test, or entry point; start by locating the Python fitting implementation and its existing estimator attributes. Compare the requested loss from the SciPy 2018 talk with the values currently exposed after fitting, and treat an accessible loss_ value with tests as the completion point.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
machine-learning
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.