一个简洁的近邻查找界面

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我的int值在SharedReferences中不被记住   java如何编辑Spring可分页对象?   java如何在gradle中单独调用任务   jvm以编程方式设置最大java堆大小   java如果满足多个条件,如何使用If语句计算数字?   如何在java中从json文件中获取特定值   如何在Sphinx4中为Java语音识别添加自定义语法?   java int[]copy=data;//当数据是数组时会发生什么?   java豪猪管理器。停下来。destroy()不起作用   安卓在API级别28中找不到画布变量   基于SOLID的java冗余   用于talend作业的java Liferay和portlet   从java到安卓的视频流   java获取在控件的类定义中添加自定义控件的场景大小   awt Java IndexOutOfBoundsException   java如何使用Spring JmsTemplate更改MQ头   java遍历数组并打印每个对象   java Google Map api v2标记在我旋转手机和地图“刷新”之前不会移动