Imageomics / Andromeda

A website that enables users to explore high-dimensional image data
http://andromeda.imageomics.org/
MIT License
2 stars 1 forks source link

Determine good default weights for sliders #10

Closed johnbradley closed 10 months ago

johnbradley commented 1 year ago

After a user uploads a CSV the sliders need to have a default value. Also we should consider if the sliders should have labels.

thompsonmj commented 1 year ago

Since weights are dynamic with respect to the value of all other variables, we could label each with 0 on the left and max on the right to avoid the misrepresentation of 0 and 1?

johnbradley commented 1 year ago

The original code has the initial weight value hard coded to 0.00001, but there is commented out code with that assigned the weight as 1.0 / <number of columns>.

The original code also has the sliders go from 0.00001 to 0.9999. Never quite reaching 0 or 1.

The dimension_reduction() function always normalizes weights:

    ### Normalize the weights to sum to 1
    wts = wts/wts.sum()
egrace479 commented 1 year ago

Ideally, we'd like the initial position of the sliders to in some way reflect the fact that the weights are initialized a 1.0/<number of columns>. That could be the initial position of the slider for all of them (we would just need the sliders long enough for it to be meaningful when there are a reasonably large number of columns). This also opens the potential to intentionally decrease the weight of particular features.

hlapp commented 1 year ago

I actually don't think that the positions of the sliders, regardless of which point in time, need to somehow indicate the absolute value of the underlying element in the weights vector.

In part this is because most people, not being natural mathematicians, will have trouble mapping absolute differences between slider positions to relative weight changes. For example, for a weight of 0.2, reducing it by 0.1 will halve the weight, but to double it it will need to be moved by 0.2. (Though one could scale the range by 1/x)

If the absolute value of each weight is worth knowing (it may well be), then it could be shown to the right of the slider, possibly in a field where the value can be edited (instead of using the slider to do so).