• lsh学习链接:
    LSH(Locality Sensitive Hashing)原理与实现
    对高维数据查询最近邻,推荐使用p-stable LSH;
    minLSH是针对文档查询最近邻得方法;
  • python学习与使用:
    python入门之类
  • 常用函数:
    random.gauss(mu, sigma):均值为mu且标准偏差为sigma的高斯分布
    random.uniform(x, y):将随机生成下一个实数,它在 [x, y] 范围内。
    numpy.inner():返回一维数组的向量内积。对于更高的维度,它返回最后一个轴上的和的乘积。
    字典(Dictionary) update() :函数把字典dict2的键/值对更新到dict里。
  • lsh参数计算学习链接:
    参考论文:2004 Locality-sensitive hashing using stable distributions
    E2LSH的原理与实现
    LSH在欧式空间的应用(1)–碰撞概率分析
    LSH在欧式空间的应用(2)–工作原理
    LSH在欧式空间的应用(3)–参数选择
    以上三个链接是用R语言举例;
    正态分布就是高斯分布;
  • knn搜索
    在使用lsh做近似近邻搜索后,得到近邻索引,通过近邻索引对近邻数据做k近邻检索,得到精确的k个最近邻。
    python做 knn可以调用库函数实现:
from sklearn.neighbors import NearestNeighbors
# 函数功能:对数据集x的前1000个数据做10近邻搜索;
# 搜索范围:数据集x内全体数据;
def knn_search(X):# 查询点y:x内前一千个数;Y = X[0:1000]# 查询范围:x内全体数据;查询11近邻;nbs = NearestNeighbors(n_neighbors=11, algorithm='ball_tree').fit(X)# distances:最近邻距离;indices:最近邻索引号;distances, indices = nbs.kneighbors(Y)# knn近邻搜索范围包含自己,返回结果去除自己(即去除查询结果第一列),得到查询点的十近邻;return indices[:, 1:]

综上,完成lsh对数据集k近邻查询;
查询结果(对数据集做两遍查询,一次e2lsh,一次knn,对比查询结果):

python实现e2lsh高维数据集k近邻搜索——实现流程相关推荐

  1. [转载] Python 统计学习方法——kdTree实现K近邻搜索

    参考链接: K最近邻居的Python实现 效果说明: Input:输入Num个Dim维点的坐标,Points.size=(Num,Dim),输入一个目标点坐标Target.查找最近邻点数量K.Outp ...

  2. Python,OpenCV中的K近邻(knn K-Nearest Neighbor)及改进版的K近邻

    Python,OpenCV中的K近邻(knn K-Nearest Neighbor)及改进版的K近邻 1. 效果图 2. 源码 参考 这篇博客将介绍将K-最近邻 (KNN K-Nearest Neig ...

  3. python人工智能——机器学习——分类算法-k近邻算法

    分类算法-k近邻算法(KNN) 定义:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别. 来源:KNN算法最早是由Cover和Hart提 ...

  4. kd树 python实现_kd树 寻找k近邻算法 python实现

    按照链接里的算法写了k近邻的python实现 from math import sqrt class KDnode: def __init__(self, data, left, right, spl ...

  5. 【Python机器学习】多项式回归、K近邻KNN回归的讲解及实战(图文解释 附源码)

    需要源码请点赞关注收藏后评论区留言私信~~~ 多项式回归 非线性回归是用一条曲线或者曲面去逼近原始样本在空间中的分布,它"贴近"原始分布的能力一般较线性回归更强. 多项式是由称为不 ...

  6. 机器学习与python实战(一)-k近邻

    kNN(k-nearest neighbor)算法是一个简单而经典的机器学习分类算法,通过度量"待分类数据"和"类别已知的样本"的距离对样本进行分类. from ...

  7. python人工智能——机器学习——分类算法-k近邻算法——kaggle案例: Facebook V: Predicting Check Ins

    题目及翻译 Facebook and Kaggle are launching a machine learning engineering competition for 2016. Faceboo ...

  8. K近邻法之kd树及其Python实现

    作为机器学习中一种基本的分类方法,K近邻(KNN)法是一种相对简单的方法.其中一个理由是K近邻法不需要对训练集进行学习.然而,不需要对训练集进行学习,反过来也会造成对测试集进行判定时,计算与空间复杂度 ...

  9. 机器学习 K近邻之KD树 搜索KD树

    思想:K近邻搜索 1.寻找"当前最近点" 寻找最近邻的子节点作为目标的"当前最近点" 2.回溯 以目标点和"当前最近点"的距离沿树根部进行回 ...

最新文章

  1. Zookeeper分布式一致性原理(二):一致性协议
  2. 【UVA - 10037】Bridge(过河问题,经典贪心)
  3. 下载人脸认证助手_关于微信人脸解封验证失败方法
  4. Mac - 苹果电脑mac系统释放硬盘空间方法汇总
  5. QQ音乐全新上线HiRes高解析音质 听歌体验再升级
  6. Ubuntu14.04系统hostapd编译及使用
  7. python中的main函数可以被其他文件调用么_Python中在脚本中引用其他文件函数的实现方法...
  8. 你的特斯拉Model 3,只需要一台手机就能偷走它
  9. ubuntu 安装 teamViewer 出现错误
  10. GBase数据库-数据转换函数
  11. python如何更新pip_[Python] 如何更新 PIP 到最新版本?
  12. st语言 数组的常用方法_ST语言入门基础
  13. 照片转3d模型_云从科技3D人体重建技术刷新3项纪录!仅凭照片即可生成精细模型...
  14. 从烂漫少女到已为人母:八年青春 梦断互联网
  15. flex布局 gird布局
  16. 蜂窝移动的架构 以及省电的方法
  17. 你不知道的css——4. 基线、中线、x-height、单位ex(含文本与图标对齐技巧)
  18. accept文件上传类型
  19. 深度学习入门系列23:项目:用爱丽丝梦游仙境生成文本
  20. python webshell_使用 Python 批量爬取 WebShell

热门文章

  1. hough变换是如何检测出直线和圆的
  2. OpenCV HOGDescriptor 参数图解
  3. 关系型数据库表结构的两个设计技巧
  4. Java程序员从笨鸟到菜鸟之(十二)java异常处理机制
  5. 【年度开源、工具合集】牛津计划,DMTK,Graph Engine…提高你的工作效率!
  6. “主要的编程范型”及其语言特性关系(多图)
  7. java学习笔记6--类的继承、Object类
  8. 12306的变态验证码算得了什么?我有Python神器!
  9. 程序员如何明智地提出好的问题
  10. Spring:SpringMVC一例