np-sims

numpy ufuncs for vector similarity (by softwaredoug)

Np-sims Alternatives

Similar projects and alternatives to np-sims

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better np-sims alternative or higher similarity.

np-sims reviews and mentions

Posts with mentions or reviews of np-sims. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-30.
  • Approximate Nearest Neighbors Oh Yeah
    5 projects | news.ycombinator.com | 30 Oct 2023
    I implemented this recently in C as a numpy extension[1], for. fun. Even had a vectorized solution going.

    You'll get diminishing returns on recall pretty fast. There's actually a theorem that tracks this - Jordan-Lindenstrauss lemma[2] if you're interested.

    As I mention in a talk I gave[3], it can work if you're going to rerank anyway. And whatever vector search thing isn't the main ranking signal. It's also easy to update, as the hashes are non-parametric (they don't depend on the data).

    The lack of data-dependency, however is the main problem. Vector spaces are lumpy. You can see this in the distribution of human beings on the surface of the earth - postal codes and area codes vary from small to huge - random hashes, like a grid, wouldn't let you accurately map out the distribution of all the people or clump them close to their actual nearest neighbors. Manhattan is not rural Alaska.

    Annoy, actually, builds on these hashes, by creating many trees of such hashes, and then finds a split in the left and right. Then in creates a forest of such trees. So its essentially a forest of random hash trees with data dependency.

    Hope that helps.

    1 - https://github.com/softwaredoug/np-sims

  • Show HN: Fast Vector Similarity Using Rust and Python
    8 projects | news.ycombinator.com | 23 Aug 2023
    Nice!

    I recently implemented a C-based numpy solution of LSH to compress / recover cosine similarity[1]. It was my first time writing Numpy C, and it was a lot of fun to massively improve the performance over pure Python[2].

    1- https://github.com/softwaredoug/np-sims

    2- https://softwaredoug.com/blog/2023/08/22/rand-projections-in...

Stats

Basic np-sims repo stats
2
12
8.6
6 months ago

softwaredoug/np-sims is an open source project licensed under MIT License which is an OSI approved license.

The primary programming language of np-sims is Python.


Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com