📅  最后修改于: 2020-06-28 06:29:13             🧑  作者: Mango
numpy.logaddexp2()函数用于计算以2为基的输入的幂和的对数。
当计算的事件概率可能很小以至于超过正常浮点数的范围时,此函数在机器学习中很有用。在这种情况下,可以代替使用计算出的概率的以2为底的对数。该函数允许以这种方式添加存储的概率。它计算log2(2**x1 + 2**x2)
。
语法:numpy.logaddexp2(arr1, arr2, /, out=None, *, where=True, casting=’same_kind’, order=’K’, dtype=None, ufunc ‘logaddexp’)
参数:
arr1: [array_like]输入数组。
arr2: [array_like]输入数组。
out: [ndarray,可选]将结果存储到的位置。
->如果提供,则必须具有广播输入的形状。
->如果未提供或没有,则返回新分配的数组。
where: [array_like,可选]真值表示在该位置计算通用函数(ufunc),假值表示将值保留在输出中。
** kwargs:允许您将关键字的可变长度参数传递给函数。当我们要处理函数中的命名参数时使用它。
返回: [ndarray或标量]它返回2 ** x1 + 2 ** x2的以2为底的对数。如果arr1和arr2均为标量,则为标量。
代码1:
# Python3代码演示logaddexp2()函数
# 导入numpy
import numpy as geek
in_num1 = 2
in_num2 = 3
print ("输入数字1 : ", in_num1)
print ("输入数字2 : ", in_num2)
out_num = geek.logaddexp2(in_num1, in_num2)
print ("输出数字 : ", out_num)
输出:
输入数字1 : 2
输入数字2 : 3
输出数字 : 3.58496250072
代码2:
# Python3代码演示logaddexp2()函数
# 导入numpy
import numpy as geek
in_arr1 = [2, 3, 8]
in_arr2 = [1, 2, 3]
print ("输入数组1 : ", in_arr1)
print ("输入数组2 : ", in_arr2)
out_arr = geek.logaddexp2(in_arr1, in_arr2)
print ("输出数组 : ", out_arr)
输出:
输入数组1 : [2, 3, 8]
输入数组2 : [1, 2, 3]
输出数组 : [ 2.5849625 3.5849625 8.04439412]