erikbern / ann-benchmarks

Benchmarks of approximate nearest neighbor libraries in Python
http://ann-benchmarks.com
MIT License
4.96k stars 748 forks source link

What does the parameter 'False' mean? #184

Open DovahYol opened 4 years ago

DovahYol commented 4 years ago

Check https://github.com/erikbern/ann-benchmarks/blob/9511d6a7544564ab4c356115a4354fd456de9a8c/algos.yaml#L367-L369 Comparably there isn't 'False' in the following snippet. https://github.com/erikbern/ann-benchmarks/blob/9511d6a7544564ab4c356115a4354fd456de9a8c/algos.yaml#L588-L589

Makes any difference?

maumueller commented 4 years ago

@searchivarius probably knows.

searchivarius commented 4 years ago

@maumueller not sure. Which parameter is it mapped to?

maumueller commented 4 years ago

I took a quick look and the missing False is actually a bug.

The False will map to query_param which will tell the implementation that the query parameters are set later https://github.com/erikbern/ann-benchmarks/blob/master/ann_benchmarks/algorithms/nmslib.py#L13, which seems to mainly affect the name that is given for the run.

It's actually a bit annoying that the query parameter is not included in the string representation. Because of that, you can't see which query parameter is used when you hover over the data points in the interactive plots, e.g., http://ann-benchmarks.com/glove-100-angular_10_angular.html.

This seems to be true for most of the "top performing" algorithms :-)