当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Python SciPy special.xlogy用法及代码示例

本文简要介绍 python 语言中 scipy.special.xlogy 的用法。

用法:

scipy.special.xlogy(x, y, out=None) = <ufunc 'xlogy'>#

计算 x*log(y),如果 x = 0 则结果为 0。

参数

x array_like

乘数

y array_like

参数

out ndarray,可选

函数结果的可选输出数组

返回

z 标量或 ndarray

计算的 x*log(y)

注意

计算中使用的对数函数是自然对数。

例子

我们可以使用这个函数来计算二元逻辑损失,也称为二元交叉熵。该损失函数用于二元分类问题,定义为:

我们可以将参数x和y分别定义为y和y_pred。 y 是实际标签的数组,这里可以是 0 或 1。 y_pred 是相对于正类 (1) 的预测概率的数组。

>>> import numpy as np
>>> from scipy.special import xlogy
>>> y = np.array([0, 1, 0, 1, 1, 0])
>>> y_pred = np.array([0.3, 0.8, 0.4, 0.7, 0.9, 0.2])
>>> n = len(y)
>>> loss = -(xlogy(y, y_pred) + xlogy(1 - y, 1 - y_pred)).sum()
>>> loss /= n
>>> loss
0.29597052165495025

损失越低通常越好,因为它表明预测与实际标签相似。在此示例中,由于我们的预测概率接近实际标签,因此我们得到的总体损失相当低且适当。

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.special.xlogy。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。