LGIRMLDec 2, 2019

scikit-hubness: Hubness Reduction and Approximate Neighbor Search

arXiv:1912.00706v18 citationsHas Code
Originality Synthesis-oriented
AI Analysis

This is an incremental tool for Python-based machine learning researchers and practitioners dealing with high-dimensional data issues like hubness.

The paper introduces scikit-hubness, a Python package that addresses hubness in high-dimensional data to improve nearest neighbor search, providing tools for analysis, reduction, and approximate search integrated with scikit-learn for efficient use in machine learning tasks.

This paper introduces scikit-hubness, a Python package for efficient nearest neighbor search in high-dimensional spaces. Hubness is an aspect of the curse of dimensionality, and is known to impair various learning tasks, including classification, clustering, and visualization. scikit-hubness provides algorithms for hubness analysis ("Is my data affected by hubness?"), hubness reduction ("How can we improve neighbor retrieval in high dimensions?"), and approximate neighbor search ("Does it work for large data sets?"). It is integrated into the scikit-learn environment, enabling rapid adoption by Python-based machine learning researchers and practitioners. Users will find all functionality of the scikit-learn neighbors package, plus additional support for transparent hubness reduction and approximate nearest neighbor search. scikit-hubness is developed using several quality assessment tools and principles, such as PEP8 compliance, unit tests with high code coverage, continuous integration on all major platforms (Linux, MacOS, Windows), and additional checks by LGTM. The source code is available at https://github.com/VarIr/scikit-hubness under the BSD 3-clause license. Install from the Python package index with $ pip install scikit-hubness.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes