精华内容
下载资源
问答
  • 解决哈希冲突的常用方法有哪些

    千次阅读 2019-04-12 19:08:48
    开放定址法 基本思想是:当关键字key的哈希地址p=H(key)出现冲突时,以p为基础,产生另一个哈 希地址p1,如果p1仍然冲突,再以p为基础,产生另一个...当哈希地址Hi=RH1(key)发生冲突时,再计算Hi=RH2(key)…...

    原创不易,麻烦点个关注,点个赞,谢谢各位。

    开放定址法

    基本思想是:当关键字key的哈希地址p=H(key)出现冲突时,以p为基础,产生另一个哈希地址p1,如果p1仍然冲突,再以p为基础,产生另一个哈希地址p2,…,直到找出一个不冲突的哈希地址pi ,将相应元素存入其中。

    再哈希法

    这种方法是同时构造多个不同的哈希函数:Hi=RH1(key) i=1,2,…,k当哈希地址Hi=RH1(key)发生冲突时,再计算Hi=RH2(key)……,直到冲突不再产生。这种方法不易产生聚集,但增加了计算时间。

    链地址法

    这种方法的基本思想是将所有哈希地址为i的元素构成一个称为同义词链的单链表,并将单链表的头指针存在哈希表的第i个单元中,因而查找、插入和删除主要在同义词链中进行。链地址法适用于经常进行插入和删除的情况。在这里插入图片描述
    拉链法的优点:

    拉链法处理冲突简单,且无堆积现象,即非同义词决不会发生冲突,因此平均查找长度较短;由于拉链法中各链表上的结点空间是动态申请的,故它更适合于造表前无法确定表长的情况;在用拉链法构造的散列表中,删除结点的操作易于实现。只要简单地删去链表上相应的结点即可。

    拉链法的缺点:

    指针需要额外的空间,故当结点规模较小时,开放定址法较为节省空间,而若将节省的指针空间用来扩大散列表的规模,可使装填因子变小,这又减少了开放定址法中的冲突,从而提高平均查找速度。

    看图就可以知道Java中的hashMap使用了拉链法处理冲突。HashMap有一个初始容量大小,默认是16

    static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16
    为了减少冲突的概率,当hashMap的数组长度到了一个临界值就会触发扩容,把所有元素rehash再放到扩容后的容器中,这是一个非常耗时的操作。

    而这个临界值由【加载因子】和当前容器的容量大小来确定:DEFAULT_INITIAL_CAPACITY*DEFAULT_LOAD_FACTOR ,即默认情况下是16x0.75=12时,就会触发扩容操作。

    所以使用hash容器时尽量预估自己的数据量来设置初始值。具体代码实现自行去研究HashMap的源码。

    基础知识补充完毕,回到正题,为什么加载因子要默认是0.75?
    在这里插入图片描述
    使用随机哈希码,节点出现的频率在hash桶中遵循泊松分布,同时给出了桶中元素个数和概率的对照表。从上面的表中可以看到当桶中元素到达8个的时候,概率已经变得非常小,也就是说用0.75作为加载因子,每个碰撞位置的链表长度超过8个是几乎不可能的。

    建立公共溢出区

    这种方法的基本思想是:将哈希表分为基本表和溢出表两部分,凡是和基本表发生冲突的元素,一律填入溢出表。

    展开全文
  • 常用的5种数据分析方法有哪些

    千次阅读 2020-12-22 11:15:10
    常用的数据分析方法有5种。 1.对比分析法 对比分析法指通过指标的对比来反映事物数量上的变化,属于统计分析中常用的方法。常见的对比有横向对比和纵向对比。 横向对比指的是不同事物在固定时间上的对比...

    常用的数据分析方法有5种。

    常用的5种数据分析方法有哪些?

     

    1.对比分析法

    常用的5种数据分析方法有哪些?

     

    对比分析法指通过指标的对比来反映事物数量上的变化,属于统计分析中常用的方法。常见的对比有横向对比和纵向对比。

    横向对比指的是不同事物在固定时间上的对比,例如,不同等级的用户在同一时间购买商品的价格对比,不同商品在同一时间的销量、利润率等的对比。

    纵向对比指的是同一事物在时间维度上的变化,例如,环比、同比和定基比,也就是本月销售额与上月销售额的对比,本年度1月份销售额与上一年度1月份销售额的对比,本年度每月销售额分别与上一年度平均销售额的对比等。

    利用对比分析法可以对数据规模大小、水平高低、速度快慢等做出有效的判断和评价。
     

    2.分组分析法

    分组分析法是指根据数据的性质、特征,按照一定的指标,将数据总体划分为不同的部分,分析其内部结构和相互关系,从而了解事物的发展规律。根据指标的性质,分组分析法分为属性指标分组和数量指标分组。所谓属性指标代表的是事物的性质、特征等,如姓名、性别、文化程度等,这些指标无法进行运算;而数据指标代表的数据能够进行运算,如人的年龄、工资收入等。分组分析法一般都和对比分析法结合使用。
     

    3.预测分析法

    预测分析法主要基于当前的数据,对未来的数据变化趋势进行判断和预测。预测分析一般分为两种:一种是基于时间序列的预测,例如,依据以往的销售业绩,预测未来3个月的销售额;另一种是回归类预测,即根据指标之间相互影响的因果关系进行预测,例如,根据用户网页浏览行为,预测用户可能购买的商品。
     

    4.漏斗分析法

    漏斗分析法也叫流程分析法,它的主要目的是专注于某个事件在重要环节上的转化率,在互联网行业的应用较普遍。比如,对于信用卡申请的流程,用户从浏览卡片信息,到填写信用卡资料、提交申请、银行审核与批卡,最后用户激活并使用信用卡,中间有很多重要的环节,每个环节的用户量都是越来越少的,从而形成一个漏斗。使用漏斗分析法,能使业务方关注各个环节的转化率,并加以监控和管理,当某个环节的转换率发生异常时,可以有针对性地优化流程,采取适当的措施来提升业务指标。
     

    5.AB测试分析法

    AB 测试分析法其实是一种对比分析法,但它侧重于对比A、B两组结构相似的样本,并基于样本指标值来分析各自的差异。例如,对于某个App的同一功能,设计了不同的样式风格和页面布局,将两种风格的页面随机分配给使用者,最后根据用户在该页面的浏览转化率来评估不同样式的优劣,了解用户的喜好,从而进一步优化产品。

    除此之外,要想做好数据分析,读者还需掌握一定的数学基础,例如,基本统计量的概念(均值、方差、众数、中位数等),分散性和变异性的度量指标(极差、四分位数、四分位距、百分位数等),数据分布(几何分布、二项分布等),以及概率论基础、统计抽样、置信区间和假设检验等内容,通过相关指标和概念的应用,让数据分析结果更具专业性。

    本文摘自《机器学习测试入门与实践》

    常用的5种数据分析方法有哪些?

     

    本书全面且系统地介绍了机器学习测试技术与质量体系建设,分为5部分,共15章。第一部分(第1~4章)涵盖了机器学习、Python编程、数据分析的基础知识;第二部分(第5~7章)介绍了大数据基础、大数据测试指南及相关工具实践;第三部分(第8~10章)讲解了机器学习测试基础、特征专项测试及模型算法评估测试;第四部分(第11~13章)介绍了模型评估平台实践、机器学习工程技术及机器学习的持续交付流程;第五部分(第14章和第15章)探讨了AI(Artificial Intelligence)在测试领域的实践及AI时代测试工程师的未来。

    本书能够帮助读者了解机器学习是如何工作的,了解机器学习的质量保障是如何进行的。工程开发人员和测试工程师通过阅读本书,可以系统化地了解大数据测试、特征测试及模型评估等知识;算法工程师通过阅读本书,可以学习模型评测的方法和拓宽模型工程实践的思路;技术专家和技术管理者通过阅读本书,可以了解机器学习质量保障与工程效能的建设方案。

    展开全文
  • in.txt out.txt 1 2 19 22 3 4 43 50 5 6 7 8
  • 向量的相似度计算常用方法

    万次阅读 2018-06-02 16:50:22
    向量的相似度计算常用方法相似度的计算简介 关于相似度的计算,现有的几种基本方法都是基于向量(Vector)的,其实也就是计算两个向量的距离,距离越近相似度越大。在推荐的场景中,在用户-物品偏好的二维矩阵中,...

    向量的相似度计算常用方法

    相似度的计算简介

       关于相似度的计算,现有的几种基本方法都是基于向量(Vector)的,其实也就是计算两个向量的距离,距离越近相似度越大。在推荐的场景中,在用户-物品偏好的二维矩阵中,我们可以将一个用户对所有物品的偏好作为一个向量来计算用户之间的相似度,或者将所有用户对某个物品的偏好作为一个向量来计算物品之间的相似度。下面我们详细介绍几种常用的相似度计算方法。

    共8种。每人选择一个。第9题为选做。

    编写程序实现(这是第一个小练习,希望大家自己动手,java实现)。计算两个向量的相似性:

    向量1(0.15, 0.45, 0.l68, 0.563, 0.2543, 0.3465,0.6598, 0.5402, 0.002)

    向量2(0.81, 0.34, 0.l66, 0.356, 0.283, 0.655,0.4398, 0.4302, 0.05402)

     

    1、皮尔逊相关系数(Pearson Correlation Coefficient)

    皮尔逊相关系数一般用于计算两个定距变量间联系的紧密程度,它的取值在 [-1,+1] 之间。

    sx, sy是 x 和 y 的样品标准偏差。

    类名:PearsonCorrelationSimilarity

    原理:用来反映两个变量线性相关程度的统计量

    范围:[-1,1],绝对值越大,说明相关性越强,负相关对于推荐的意义小。

    说明:1、 不考虑重叠的数量;2、 如果只有一项重叠,无法计算相似性(计算过程被除数有n-1);3、 如果重叠的值都相等,也无法计算相似性(标准差为0,做除数)。

    该相似度并不是最好的选择,也不是最坏的选择,只是因为其容易理解,在早期研究中经常被提起。使用Pearson线性相关系数必须假设数据是成对地从正态分布中取得的,并且数据至少在逻辑范畴内必须是等间距的数据。Mahout,为皮尔森相关计算提供了一个扩展,通过增加一个枚举类型(Weighting)的参数来使得重叠数也成为计算相似度的影响因子。

    2、欧几里德距离(Euclidean Distance)

    最初用于计算欧几里德空间中两个点的距离,假设 x,y 是 n 维空间的两个点,它们之间的欧几里德距离是:

    可以看出,当 n=2 时,欧几里德距离就是平面上两个点的距离。当用欧几里德距离表示相似度,一般采用以下公式进行转换:距离越小,相似度越大。

    类名:EuclideanDistanceSimilarity

    原理:利用欧式距离d定义的相似度s,s=1 / (1+d)。

    范围:[0,1],值越大,说明d越小,也就是距离越近,则相似度越大。

    说明:同皮尔森相似度一样,该相似度也没有考虑重叠数对结果的影响,同样地,Mahout过增加一个枚举类型(Weighting)的参数来使得重叠数也成为计算相似度的影响因子。

    3、Cosine 相似度(CosineSimilarity)

    Cosine 相似度被广泛应用于计算文档数据的相似度:

    类名: UncenteredCosineSimilarity

    原理:多维空间两点与所设定的点形成夹角的余弦值。

    范围:[-1,1],值越大,说明夹角越大,两点相距就越远,相似度就越小。

    说明:在数学表达中,如果对两个项的属性进行了数据中心化,计算出来的余弦相似度和皮尔森相似度是一样的,在mahout中,实现了数据中心化的过程,所以皮尔森相似度值也是数据中心化后的余弦相似度。另外在新版本中,Mahout提供了UncenteredCosineSimilarity类作为计算非中心化数据的余弦相似度。

     

    4、Tanimoto 系数(TanimotoCoefficient)

    Tanimoto 系数也称为 Jaccard 系数,是 Cosine 相似度的扩展,也多用于计算文档数据的相似度:

    类名:TanimotoCoefficientSimilarity

    原理:又名广义Jaccard系数,是对Jaccard系数的扩展,等式为

    范围:[0,1],完全重叠时为1,无重叠项时为0,越接近1说明越相似。

    说明:处理无打分的偏好数据。

     

    5、曼哈顿距离

    类名:CityBlockSimilarity

    原理:曼哈顿距离的实现,同欧式距离相似,都是用于多维数据空间距离的测度

    范围:[0,1],同欧式距离一致,值越小,说明距离值越大,相似度越大。

    说明:比欧式距离计算量少,性能相对高。

    曼哈顿距离公式:

     

    6、马氏距离

    7、兰氏距离公式

    8、切比雪夫距离公式

    第9题为选做题。感兴趣的就做,不感兴趣可以不做。

    9、Hausdorff distance

    The Hausdorff distance measures the distance between setsof points. It captures the “maximum distance of a point in a set to the nearestpoint in the other set.”

     

    Input:

    展开全文
  • 常用文本相似度计算方法

    千次阅读 2018-04-08 22:01:38
    在此记录两种常见的文本相似度计算方式:基于VSM论文和基于LDA论文;...在进行文本建模之后,计算相似度的常用距离:余弦距离,欧式距离,曼哈顿距离,切比雪夫距离,simhash+汉明距离...详见...

    在此记录两种常见的文本相似度计算方式:基于VSM论文和基于LDA论文

    这两种方式的不同在于文本表示的不同,LDA与VSM相比,增加了概率的信息,更侧重对语义的挖掘。

    在进行文本建模之后,计算相似度的常用距离有:

    余弦距离,欧式距离,曼哈顿距离,切比雪夫距离,simhash+汉明距离...详见


    展开全文
  • python实现常用的相似度计算方法

    千次阅读 2019-05-07 19:43:11
    相似度计算是很多具体的应用了里面都会使用到的一些东西,我们学过的很多相似度计算方法,最初的相似度计算是为了表征向量的重合程度的,在这里最经典的就是余弦相似度了,当然使用正弦或者是正切等等三角函数也...
  • 解决数据从两个角度上看...不同的目的下分不同的情况,也都相应的解决方式和方法。在此简略描述一下,若错误,请指出,不胜感激! 解决数据质量问题 解决数据的各种问题,包括但不限于: 数据的完整性----例如人的
  • 常用的相似度计算方法原理及实现

    万次阅读 多人点赞 2017-04-11 20:06:11
    在数据分析和数据挖掘以及搜索引擎中,我们...一般通过计算事物的特征之间的距离,如果距离小,那么相似度大;如果距离大,那么相似度小。比如两种水果,将从颜色,大小,维生素含量等特征进行比较相似性。 问题定义:
  • ⑴神经网络方法   神经网络由于本身良好的鲁棒性、自组织自适应性、并行处理、分布存储和高度容错等特性非常适合解决数据挖掘的问题,因此近年来越来越受到人们的关注。典型的神经网络模型主要分3大类:以感知机、...
  • 常用的hash算法有哪些

    万次阅读 2019-04-29 09:23:24
    常用的hash算法有哪些? • 加法Hash;把输入元素一个一个的加起来构成最后的结果 • 位运算Hash;这类型Hash函数通过利用各种位运算(常见的是移位和异或)来充分的混合输入元素 • 乘法Hash;这种类型的Hash...
  •  * 根据两个位置的经纬度,来计算两地的距离(单位为KM)  * 参数为String类型  * @param lat1 用户经度  * @param lng1 用户纬度  * @param lat2 商家经度  * @param lng2 商家纬度  * @return  */  ...
  • 相似度计算常用方法综述

    万次阅读 2012-12-14 08:45:23
    引言  相似度计算用于衡量对象之间的相似程度,在数据挖掘、...而针对不同的应用场景,受限于数据规模、时空开销等的限制,相似度计算方法的选择又会有所区别和不同。下面章节会针对不同特点的应用,进行一些常用的相
  • 大家好!我叫戴向天。 QQ:809002582 前端开发常用方法 - formatTime - 时间戳格式转换以及计算 代码如下
  • 推荐系统:常用相似度计算方法

    千次阅读 2011-10-12 16:37:24
    by 雨水无香   不论是推荐系统,还是搜索引擎,都经常需要比较两个项目之间的相似度。常见的思想是将项目的特征的权值表示为N维空间向量,然后利用代数方法,对...常用的相似度计算方法有如下几种: 1.1 欧氏
  • 几种常用BCD码的计算方法

    万次阅读 多人点赞 2019-09-02 18:58:11
    二-十进制代码,也可以叫BCD码,通常用4位二进制代码对十进制数字符号进行编码,本文要介绍的几种常用BCD码就是8421码,5421码,2421码和余3码。 8421码 8421码是一种有权码,0~9的8421码与其二进制码完全相同,所以...
  • 求解逆矩阵的常用三种方法

    万次阅读 多人点赞 2018-08-08 11:15:27
    1.待定系数法 矩阵A= 1,2 -1,-3 假设所求的逆矩阵为 a,b c,d 则 从而可以得出方程组 a+2c=1 b+2d=0 ...伴随矩阵是矩阵元素所对应的代数余子式,所构成的矩阵,转置后得到的新矩阵。...接下来...
  • 常用向量空间距离计算的几种方法

    千次阅读 2020-04-26 10:06:07
    常用向量空间距离包括: 1、欧式距离 2、余弦距离和余弦相似度 ...下面介绍一下常用计算方法: 1、计算向量的余弦距离 2、使用scipy计算常用向量空间距离 3、使用sklearn计算常用向量距离 ...
  • 计算1到10阶乘的常用方法

    千次阅读 2020-04-21 15:59:09
    计算1到10阶乘的常用方法 ** (1)方法一,for循环求阶乘 long fac(int n) { int i; long s=1; for(i=1;i<=n;i++) { s*=i; } return s; } (1)方法二,递归法求阶乘 long recrision(int n) { long ...
  • 常用的进位计数二进制、八进制、十进制和十六进制。其他的还有三进制、七进制、六十进制等。(因为我们使用的计算机都为冯诺依曼型计算机,所以,计算机内部都使用二进制来表示数据。)一种进位计数制包含一组...
  • 中间件是什么,常用的中间件有哪些

    万次阅读 多人点赞 2020-11-16 20:42:09
    中间件在客户服务器的操作系统、网络和数据库之上,管理计算资源和网络通信。总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。 也就是说,关于中间件,...
  • 常用的预测误差计算方法

    万次阅读 2015-09-06 20:32:02
    转自:http://www.forecastpro.com/Trends/forecasting101August2011.html...   Forecasting 101: A Guide to Forecast Error Measurement Statistics and How to Use Them Error measurement statistics play a
  • 在实际应用中,用传统方法计算完特征descriptors之后需要对两个特征之间的相似度进行判别,这就涉及到向量相似度的比较。关于向量相似度的计算,现有的几种基本方法都是基于向量的,其实也就是计算两个向量之间的...
  • Dotween常用方法详解

    万次阅读 多人点赞 2018-12-08 10:28:22
    Dotween是unity里非常常用的插件,但是很多人应该没有仔细的阅读过它的api,它实际很多好用的方法,下面我就针对一些相对常用方法,做下总结: 一、Unity常用组件拓展方法 (1) Transform拓展方法 1)Position...
  • 函数发生器常用操作方法函数发生器常用操作方法面板介绍输出线介绍功能操作 函数发生器常用操作方法 介绍函数发生器常用操作方法。 面板介绍 函数发生器面板主要由屏幕+功能按键+插座构成。 输出线介绍 红正黑负 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,240,307
精华内容 496,122
关键字:

常用的计数方法有哪些