當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。