📜  Python中的numpy.logaddexp2

📅  最后修改于: 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]