首页 > 编程语言 >整合信息论 python示范代码

整合信息论 python示范代码

时间:2023-12-25 14:01:40浏览次数:32  
标签:交叉 python 互信息 示范 Python https np 信息论

在信息论中,我们经常会遇到一些基本概念,如联合熵、条件熵、交叉熵和KL散度等。以下是一些Python代码示例,用于计算这些概念¹。

# -*-coding:utf-8-*- 
# Author: WSKH
import numpy as np

# 计算交叉熵
def cross(M,N):
    return -np.sum(M*np.log(N)+(1-M)*np.log(1-N))

M = np.asarray([0.8,0.3,0.12,0.04],dtype=float)
N = np.asarray([0.7,0.28,0.08,0.06],dtype=float)

print("M,N的交叉熵为",cross(M,N))

在这个例子中,我们定义了一个函数cross来计算两个概率分布MN之间的交叉熵。这是一个非常基础的信息论概念,用于衡量两个概率分布之间的相似性。

此外,还有一些其他的信息论概念,如标准化互信息,也可以用Python实现³。例如,使用sklearn.metrics.normalized_mutual_info_score函数可以计算两个列表的标准化互信息。

from sklearn import metrics

A = [1, 1, 1, 2, 3, 3]
B = [1, 2, 3, 1, 2, 3]

result_NMI = metrics.normalized_mutual_info_score(A, B)

print("result_NMI:", result_NMI)

在这个例子中,我们计算了两个列表AB之间的标准化互信息。这是一个衡量两个随机变量之间相互依赖程度的指标。

希望这些示例能帮助你理解和应用信息论的一些基本概念。如果你有任何其他问题,或者需要更多的示例,欢迎随时向我提问。¹³。源: 与必应的对话, 2023/12/25

(1) 【机器学习】信息论基础(联合熵、条件熵、交叉熵、KL散度等)+ Python代码实现 - CSDN博客. https://blog.csdn.net/weixin_51545953/article/details/122917445.

(2) 信息论学习——python实现标准化互信息-CSDN博客. https://blog.csdn.net/m0_37876745/article/details/112061449.

(3) 涌现、因果与自指——“因果涌现”理论能否破解生命与意识之谜 - 知乎. https://zhuanlan.zhihu.com/p/410039656.

(4) 精选了20个Python实战项目(附源码),拿走就用! - 知乎. https://zhuanlan.zhihu.com/p/448252423.

(5) undefined. https://www.art-sciencefactory.com/complexity-map_feb09.html.

标签:交叉,python,互信息,示范,Python,https,np,信息论
From: https://blog.51cto.com/u_16055028/8967982

相关文章

  • python None cyc null
    cycpythonreturnNonecyc主流程any不指定类型默认为null输出为空toString()输出为"null"string指定为字符串默认为""输出为空toString()输出为"null"其他类型比如list同上总结:python.Nonetocyc.null任意类型均为nulltoString()均为"null"传入到pythonNonecyc.type关键......
  • ChatGPT引领AI时代:程序员、项目经理、产品经理、架构师、Python量化交易师的翅膀
    ......
  • python 实现图片内容md5加密
    图片内容可以通过MD5进行加密,但是请注意,MD5并不适合用于加密敏感信息,因为它容易受到碰撞攻击。这里是一个使用Python的hashlib库进行MD5加密的示例:importhashlibimportiodefget_md5(img_path):#打开并读取图片文件withopen(img_path,'rb')asf:im......
  • 费控系统的设计和实现涉及到许多方面,包括需求分析、软件设计、开发等。在Python中,我们
    费控系统的设计和实现涉及到许多方面,包括需求分析、软件设计、开发等。在Python中,我们可以使用各种库和框架来帮助我们实现这样的系统。以下是一个基本的费控系统设计思路¹:classFeeControlSystem:def__init__(self):self.expenses=[]defadd_expense(self......
  • Python:diskcache实现基于文件的数据缓存
    diskcache是一个基于Sqlite文件的数据缓存如果在不想使用redis作为缓存的情况下,可以使用diskcache替代,减少对redis的依赖文档https://grantjenks.com/docs/diskcache/https://github.com/grantjenks/python-diskcachehttps://pypi.org/project/diskcache/安装pipinstall......
  • 常用的10个Python装饰器
    装饰器(Decorators)是Python中一种强大而灵活的功能,用于修改或增强函数或类的行为。装饰器本质上是一个函数,它接受另一个函数或类作为参数,并返回一个新的函数或类。它们通常用于在不修改原始代码的情况下添加额外的功能或功能。装饰器的语法使用@符号,将装饰器应用于目标函数或类。下......
  • 深入理解Python http包:构建HTTP服务与客户端
    Python作为一门强大的编程语言,其标准库中包含了丰富的模块,用于应对各种编程需求。在网络编程领域,http是一个值得关注的包,尤其适用于开发HTTP服务器和客户端。本文将深入探讨http包的核心模块http.server和http.client,并通过示例来展示如何使用这些模块构建简单的HTTP服务及客户端交......
  • python 把包含uincode字符串变成中文
    1defget_info_by_pattern(text,pattern):2p=re.compile(pattern)3p_res=p.findall(text)4returnp_res56#把包含uincode字符串变成中文7defunicode_to_chinese(text):8pattern_unicode='u[0-9a-z]{4}'9p_res=get_i......
  • 记录一下python循环引用问题
    工作遇到了一个引用循环的问题,记录一下test.py:print('fffffff')importmain#导入main.pyprint('sdfdf')defaaa():print('aaaaaaaaaaa')main.py:print('-------------')fromtestimportaaa#试图从test.py导入aaa函数print('......
  • Python常用的魔术方法
    什么是魔术方法?在Python中,所有以双下划线__包起来的方法,统称为MagicMethod(魔术方法),它是一种的特殊方法,普通方法需要调用,而魔术方法不需要调用就可以自动执行。魔术方法在类或对象的某些事件出发后会自动执行,让类具有神奇的“魔力”。如果希望根据自己的程序定制自己特殊功能的类,那......