当前位置: 首页>>代码示例>>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;未经允许,请勿转载。