當前位置: 首頁>>代碼示例>>Python>>正文


Python special.entr方法代碼示例

本文整理匯總了Python中scipy.special.entr方法的典型用法代碼示例。如果您正苦於以下問題:Python special.entr方法的具體用法?Python special.entr怎麽用?Python special.entr使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在scipy.special的用法示例。


在下文中一共展示了special.entr方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: entropy

# 需要導入模塊: from scipy import special [as 別名]
# 或者: from scipy.special import entr [as 別名]
def entropy(self, n, p):
        r"""
        Compute the entropy of the multinomial distribution.

        The entropy is computed using this expression:

        .. math::

            f(x) = - \log n! - n\sum_{i=1}^k p_i \log p_i +
            \sum_{i=1}^k \sum_{x=0}^n \binom n x p_i^x(1-p_i)^{n-x} \log x!

        Parameters
        ----------
        %(_doc_default_callparams)s

        Returns
        -------
        h : scalar
            Entropy of the Multinomial distribution

        Notes
        -----
        %(_doc_callparams_note)s
        """
        n, p, npcond = self._process_parameters(n, p)

        x = np.r_[1:np.max(n)+1]

        term1 = n*np.sum(entr(p), axis=-1)
        term1 -= gammaln(n+1)

        n = n[..., np.newaxis]
        new_axes_needed = max(p.ndim, n.ndim) - x.ndim + 1
        x.shape += (1,)*new_axes_needed

        term2 = np.sum(binom.pmf(x, n, p)*gammaln(x+1),
            axis=(-1, -1-new_axes_needed))

        return self._checkresult(term1 + term2, npcond, np.nan) 
開發者ID:ryfeus,項目名稱:lambda-packs,代碼行數:41,代碼來源:_multivariate.py

示例2: _entropy

# 需要導入模塊: from scipy import special [as 別名]
# 或者: from scipy.special import entr [as 別名]
def _entropy(self, n, p):
        k = np.r_[0:n + 1]
        vals = self._pmf(k, n, p)
        return np.sum(entr(vals), axis=0) 
開發者ID:ryfeus,項目名稱:lambda-packs,代碼行數:6,代碼來源:_discrete_distns.py

示例3: test_entr

# 需要導入模塊: from scipy import special [as 別名]
# 或者: from scipy.special import entr [as 別名]
def test_entr():
    def xfunc(x):
        if x < 0:
            return -np.inf
        else:
            return -special.xlogy(x, x)
    values = (0, 0.5, 1.0, np.inf)
    signs = [-1, 1]
    arr = []
    for sgn, v in itertools.product(signs, values):
        arr.append(sgn * v)
    z = np.array(arr, dtype=float)
    w = np.vectorize(xfunc, otypes=[np.float64])(z)
    assert_func_equal(special.entr, w, z, rtol=1e-13, atol=1e-13) 
開發者ID:Relph1119,項目名稱:GraphicDesignPatternByPython,代碼行數:16,代碼來源:test_basic.py


注:本文中的scipy.special.entr方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。