VarIr / scikit-hubness

A Python package for hubness analysis and high-dimensional data mining
BSD 3-Clause "New" or "Revised" License
44 stars 9 forks source link

Better KNeighborsTransformer compatibility; accuracy tests #103

Closed VarIr closed 2 years ago

VarIr commented 2 years ago

This makes approximate nearest neighbor Transformers (AnnoyTransformer, NMSlibTransformer, etc.) more compliant with sklearn's KNeighborsTransformer behavior: One more neighbor than asked for is retrieved in order to handle self neighbor cases.

Also introduces accuracy tests for all Transformers.

codecov[bot] commented 2 years ago

Codecov Report

Merging #103 (3cba9ae) into main (e4e1bb6) will increase coverage by 0.17%. The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #103      +/-   ##
==========================================
+ Coverage   94.65%   94.83%   +0.17%     
==========================================
  Files          32       33       +1     
  Lines        2432     2516      +84     
  Branches      299      311      +12     
==========================================
+ Hits         2302     2386      +84     
  Misses        100      100              
  Partials       30       30              
Impacted Files Coverage Δ
skhubness/neighbors/_annoy.py 99.33% <100.00%> (ø)
skhubness/neighbors/_ngt.py 94.11% <100.00%> (+0.03%) :arrow_up:
skhubness/neighbors/_nmslib.py 89.28% <100.00%> (+0.97%) :arrow_up:
skhubness/neighbors/_puffinn.py 95.62% <100.00%> (ø)
skhubness/neighbors/tests/test_annoy.py 95.86% <100.00%> (+0.11%) :arrow_up:
skhubness/neighbors/tests/test_neighbors.py 100.00% <100.00%> (ø)
skhubness/neighbors/tests/test_ngt.py 93.75% <100.00%> (+0.07%) :arrow_up:
skhubness/neighbors/tests/test_nmslib.py 89.47% <100.00%> (+0.70%) :arrow_up:
skhubness/neighbors/tests/test_puffinn.py 82.30% <100.00%> (+0.27%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update e4e1bb6...3cba9ae. Read the comment docs.