一个简洁的近邻查找界面

simpleneighbors的Python项目详细描述


简单邻居

https://img.shields.io/travis/aparrish/simpleneighbors.svghttps://coveralls.io/repos/github/aparrish/simpleneighbors/badge.svg?branch=masterhttps://img.shields.io/pypi/v/simpleneighbors.svg

简单邻居是执行最近邻居的干净且简单的接口 从语料库中查找项目。例如,以下是如何找到 与xkcd colors list中的颜色相似:

>>> from simpleneighbors import SimpleNeighbors
>>> import json
>>> color_data = json.load(open('xkcd.json'))['colors']
>>> hex2int = lambda s: [int(s[n:n+2], 16) for n in range(1,7,2)]
>>> colors = [(item['color'], hex2int(item['hex'])) for item in color_data]
>>> sim = SimpleNeighbors(3)
>>> sim.feed(colors)
>>> sim.build()
>>> list(sim.neighbors('pink', 5))
['pink', 'bubblegum pink', 'pale magenta', 'dark mauve', 'light plum']

在这里阅读文档:https://simpleneighbors.readthedocs.org

近似最近邻查找是找到你的项目的一种快速方法。 与数据中任何其他项最接近(或最相似)的数据集,或 数据定义的空间中的任意点。您的数据项可能 是a(r,g,b)空间中的颜色,或a(x,y)空间中的精灵,或词向量 在一个300维的空间里。

您总是可以执行成对距离计算以找到最近的 数据中的邻居,但对于任何明显的大小和复杂性的数据, 这种计算速度太慢了。该库在场景后面使用Annoy进行近似处理。 最近邻查找,其最终精度略低于 成对计算,但要快得多。

该库还跟踪您的数据,为您节省了 将数据中的每一项映射到invoin中的整数索引(可能 数据存储中某些冗余的成本,具体取决于您的应用程序)。

我做了简单的邻居,因为我总是用烦恼来找自己 一遍又一遍地编写和重写相同的包装器代码。我 想隐藏一点使用恼人的复杂性让它更容易 利用最近邻查找建立小型原型并教授研讨会。

安装

使用pip安装,如下所示:

pip install simpleneighbors

您还可以下载源代码并手动安装:

python setup.py install

历史记录

0.0.1(2018-07-13)

  • 初次发布。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Android HttpClient cookies   如何使用Java在远程系统上运行SSH命令?   java从字符串数组中的字符串末尾删除“,”   在One plus 3t手机上,当应用程序被终止或从最近的应用程序中刷出时,java Android FCM推送通知不起作用   java如何使垂直滚动条始终位于jtable的末尾   在java中解析迄今为止“未知”的字符串   javascript在Java中获取Nashorn JsonObject   java windows 10和ubuntu可以使用相同的JDK吗?   java在不同的文件中记录不同的日志。但所有日志都放在同一个文件中   具有特定jdk的java Gradle构建项目   xml Java web服务生成错误响应   javascript Jaggery文件更改不显示   java输出二进制搜索树数组   将BufferedReader解析为JSON对象时,java在位置处意外标记文件结尾