Change in the Neighbours widget
- Dominant language
- Python
- Stars
- 5.7k
- Forks
- 1.1k
- Avg merge
- 12d 2h
- Merged PRs (30d)
- 1
Description
@BlazZupan started a discussion about the Neighbours widgets. He basically, wanted an output Data with distances to *all* data instance, and overlooked that he can achieve the same effect by unchecking the checkbox that limits the number of neighbours.
Here are some notes:
**Neighbours**:
- Add missing distances (normalized Euclidean and Manhatta). (Note to self: an input with distances is not a solution because it would incur quadratic time complexity).
- Add an output Data with all instance and their distances to the reference, and **make it lazy**. The output is superfluous, but somehow consistent with other widgets that output subsets, and it's harmless if lazy.
- Perhaps: remove the checkbox, keep line edit. This is still a matter of discussion; removing the checkbox requires some code for backward compatibilitty.
We also discussed how to provide distances to multiple references. One option was an additional input to Distances of type Data Table that would represent reference examples), and an output with distances to all those instance. The problems with this solution are
- potentially many meta columns with distances
- Distances can currently be connected only to a few widgets, which is nice. With the additional output, it can be connected to almost everything, so the pop-up is populated with lots and lots of widgets.
- We want additional options, like a column that contains an id of the closest reference, or some kind of aggregation (min, max, avg) of distances to refrences.
We haven't decided anything, but it seems this calls for a new widget.
Contributor guide
Research direction
Start by reviewing the existing Neighbours and Distances widgets and how they expose instance distances. Resolve the open design questions first, including lazy output, multiple references, distance metrics, and backward compatibility; done means the agreed widget behavior is implemented and usable without the currently noted connection and performance problems.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data, machine-learning
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100