python 3计算KL散度(KL Divergence)

news/2024/11/17 8:42:41/

 

程序

利用python 3计算

import numpy as np
import scipy.stats# 随机生成两个离散型分布
x = [np.random.randint(1, 11) for i in range(10)]
print(x)
print(np.sum(x))
px = x / np.sum(x)
print(px)
y = [np.random.randint(1, 11) for i in range(10)]
print(y)
print(np.sum(y))
py = y / np.sum(y)
print(py)# 利用scipy API进行计算
# scipy计算函数可以处理非归一化情况,因此这里使用
# scipy.stats.entropy(x, y)或scipy.stats.entropy(px, py)均可
KL = scipy.stats.entropy(x, y) 
print(KL)# 编程实现
KL = 0.0
for i in range(10):KL += px[i] * np.log(px[i] / py[i])# print(str(px[i]) + ' ' + str(py[i]) + ' ' + str(px[i] * np.log(px[i] / py[i])))print(KL)

20210715

https://blog.csdn.net/qtlyx/article/details/51834684

范围应该是0到1? 散度值越小 越接近于0 表示两个分布越接近 反之越大

https://zhuanlan.zhihu.com/p/93853664


http://www.ppmy.cn/news/607526.html

相关文章

大数据必学Java基础(二十六):数组的应用题

文章目录 数组的应用题 一、最值问题

EUV极紫外光刻技术

EUV极紫外光刻技术 (1)极紫外光 波长为 13.5nm 的极紫外 (EUV) 光刻系统的最新发展,以取代 193i 光刻。为了应对多图案成本上升的趋势,EUV 系统在曝光吞吐量(每小时晶圆数),曝光强度和系统正常运…

极致呈现系列之:Echarts主题河流图的绚丽世界

目录 什么是主题河流图Echarts主题河流图的特点和应用场景Echarts主题河流图的特点Echarts主题河流图的应用场景 Echarts中主题河流图的常用配置项vue3中创建主题河流图 什么是主题河流图 主题河流图(Theme River Chart)是Echarts中的一种数据可视化图表…

[JS] for-each和map()的区别

先说下for-each与for-of还有for-in的区别。for-of和for-in都是对对象操作的,而for-each和map()是对数组进行操作的。for-in的使用:对于一个数组里的每一个键进行遍历(不是键值对key-value形式么,就是那个"键")for-of的使用&#xf…

sh计算机,计算机教程:shellII(sh).pdf

下载第10章 shell II (sh)Bourne shell (s h )、C shell (c s h )以及Korn shell (k s h )是命令解释程序及高级编程语言。作为命令解释程序,这些 s h e l l处理用户在命令行提示符下所输入的命令。当用户把一个 s h e l l作为一种编程语言使用时,s h e …

大数据必学Java基础(二十七):详述main方法和了解可变参数

文章目录 详述main方法 一、main方法说明 二、main方法格式严格要求

评估指标小结

通常报告两种错误率:top-1和top-5,其中top-5错误率是测试图像中正确标签不在模型认为最有可能的五个标签中的部分。 20220405 sklearn中使用r2_score评价回归模型_#HereWeGo的博客-CSDN博客_python r2score 判定系数R2 20201225 分类报告输出到csv from sklearn.met…

[JS] HEX颜色转换成RGBA

写了一个函数&#xff0c;可以把hex格式的颜色转为rgba的格式实际上不是颜色转换&#xff0c;主要是slice()函数的使用吧&#xff0c;当成字符串理解就好。 function change(hex) {if (hex.length < 9 || hex[0] ! #) return hexlet r parseInt(hex.slice(1, 3), 16)let g…