返回顶部
首页 > 资讯 > 后端开发 > Python >Python如何实现杰卡德距离以及环比算法
  • 121
分享到

Python如何实现杰卡德距离以及环比算法

2023-06-29 03:06:24 121人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章将为大家详细讲解有关python如何实现杰卡德距离以及环比算法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言NLP-字符串相似性计算、集合相似性度量杰卡德距离是什么?杰卡德距离(Jaccard

这篇文章将为大家详细讲解有关python如何实现杰卡德距离以及环比算法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

前言

NLP-字符串相似性计算、集合相似性度量

杰卡德距离是什么?

杰卡德距离(Jaccard Distance) 是用来衡量两个集合差异性的一种指标,它是杰卡德相似系数的补集,被定义为1减去Jaccard相似系数。而杰卡德相似系数(Jaccard similarity coefficient),也称杰卡德指数(Jaccard Index),是用来衡量两个集合相似度的一种指标。

定义

Jaccard相似指数用来度量两个集合之间的相似性,它被定义为两个集合交集的元素个数除以并集的元素个数。

Python如何实现杰卡德距离以及环比算法

Jaccard距离用来度量两个集合之间的差异性,它是Jaccard的相似系数的补集,被定义为1减去Jaccard相似系数。

Python如何实现杰卡德距离以及环比算法

Python实现

代码如下:

# -*- encoding:utf-8 -*-import jiebadef Jaccard(model, reference):  # terms_reference为源句子,terms_model为候选句子    terms_reference = jieba.cut(reference)  # 默认精准模式    terms_model = jieba.cut(model)    grams_reference = set(terms_reference)  # 去重;如果不需要就改为list    grams_model = set(terms_model)    temp = 0    for i in grams_reference:        if i in grams_model:            temp = temp + 1    fenmu = len(grams_model) + len(grams_reference) - temp  # 并集    try:        jaccard_coefficient = float(temp / fenmu)  # 交集    except ZeroDivisionError:        print(model, reference)        return 0    else:        return jaccard_coefficient

环比是什么?

环比的发展速度是报告期水平与前一时期水平之比,表明现象逐期的发展速度。如计算一年内各月与前一个月对比,即2月比1月,3月比2月,4月比3月……12月比11月,说明逐月的发展程度。如分析抗击“非典”期间某些经济现象的发展趋势,环比比同比更说明问题。

学过统计或者经济知识的人都知道,统计指标按其具体内容、实际作用和表现形式可以分为总量指标、相对指标和平均指标。由于采用基期的不同,发展速度可分为同比发展速度、环比发展速度和定基发展速度。简单地说,就是同比、环比与定基比,都可以用百分数或倍数表示。
定基比发展速度,也简称总速度,一般是指报告期水平与某一固定时期水平之比,表明这种现象在较长时期内总的发展速度。同比发展速度,一般指是指本期发展水平与上年同期发展水平对比,而达到的相对发展速度。环比发展速度,一般是指报告期水平与前一时期水平之比,表明现象逐期的发展速度。
同比和环比,这两者所反映的虽然都是变化速度,但由于采用基期的不同,其反映的内涵是完全不同的;一般来说,环比可以与环比相比较,而不能拿同比与环比相比较;而对于同一个地方,考虑时间纵向上发展趋势的反映,则往往要把同比与环比放在一起进行对照。 [1]

Python实现

代码如下:

def month_on_month_ratio(data_list):    mid = 0    length = len(data_list)    res = []    while mid < length-1:        a, b = data_list[mid:mid+2]        res.append((b-a)/a)        mid += 1    return res

关于“Python如何实现杰卡德距离以及环比算法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: Python如何实现杰卡德距离以及环比算法

本文链接: https://lsjlt.com/news/322252.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python如何实现杰卡德距离以及环比算法
    这篇文章将为大家详细讲解有关Python如何实现杰卡德距离以及环比算法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言NLP-字符串相似性计算、集合相似性度量杰卡德距离是什么?杰卡德距离(Jaccard...
    99+
    2023-06-29
  • Python实现杰卡德距离以及环比算法讲解
    目录前言杰卡德距离是什么?定义Python实现环比是什么?Python实现前言 NLP-字符串相似性计算、集合相似性度量 提示:以下是本篇文章正文内容,下面案例可供参考 杰卡德距离是...
    99+
    2024-04-02
  • Python如何实现距离和相似性计算
    本篇内容主要讲解“Python如何实现距离和相似性计算”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python如何实现距离和相似性计算”吧!欧氏距离也称欧几里得距离,是指在m维空间中两个点之间...
    99+
    2023-07-05
  • python如何实现比较运算符的方法
    这篇文章将为大家详细讲解有关python如何实现比较运算符的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。实现比较运算符的简单方法为一个类实现所有的比较相似(如 lt , le , gt , ge)是...
    99+
    2023-06-27
  • 如何用Python实现基于蒙特卡洛算法小实验
    今天就跟大家聊聊有关如何用Python实现基于蒙特卡洛算法小实验,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。用Python实现基于蒙特卡洛算法小实验蒙特卡洛算法思想蒙特卡洛(Mon...
    99+
    2023-06-02
  • 如何在Python编程中应用Linux环境下的框架,以实现高效算法?
    Python是一种广泛使用的编程语言,能够帮助开发人员快速开发高效的算法。与此同时,Linux环境下提供了许多优秀的框架,可以进一步提高Python编程的效率。本文将介绍如何在Python编程中应用Linux环境下的框架,以实现高效算法。 ...
    99+
    2023-11-06
    linux 框架 编程算法
  • 如何使用Python实现图像融合及加法运算
    这篇文章主要介绍“如何使用Python实现图像融合及加法运算”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何使用Python实现图像融合及加法运算”文章能帮助大家解决问题。一.图像加法运算1.Nu...
    99+
    2023-06-30
  • Linux环境如何搭建FTP服务器以及Python怎么实现FTP客户端的交互
    Linux环境如何搭建FTP服务器以及Python怎么实现FTP客户端的交互,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。FTP 是File Transfer P...
    99+
    2023-06-02
  • 你是否知道Python在Linux环境下的框架有哪些,如何使用它们来实现算法?
    Python是一种广泛使用的编程语言,它在Linux环境下也有许多强大的框架可以使用。这些框架可以使程序员更加高效地开发算法,并且能够减少代码的重复性。本文将介绍一些在Linux环境下使用Python的框架,同时演示如何使用它们来实现算法。...
    99+
    2023-11-06
    linux 框架 编程算法
  • 如何在Python中实现一个分布式计算框架,以及任务调度和结果收集的机制和策略
    标题:Python中的分布式计算框架实现及任务调度与结果收集机制摘要:分布式计算是一个有效利用多台计算机资源来加速任务处理的方法。本文将介绍如何使用Python实现一个简单的分布式计算框架,包括任务调度和结果收集的机制与策略,并提供相关代码...
    99+
    2023-10-22
    分布式计算 任务调度 结果收集
  • 【数据结构与算法】如何对快速排序进行细节优化以及实现非递归版本的快速排序?
    君兮_的个人主页 即使走的再远,也勿忘启程时的初心 C/C++ 游戏开发 Hello,米娜桑们,这里是君兮_,国庆长假结束了,无论是工作还是学习都该回到正轨上来...
    99+
    2023-10-22
    算法 数据结构 排序算法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作