skbio.stats.composition.multiplicative_replacement¶
- skbio.stats.composition.multiplicative_replacement(mat, delta=None)[源代码]¶
将所有零替换为小的非零值
状态:从0.4.0开始实验。
它使用乘法替换策略 [1] ,将零替换为小正数 \(\delta\) 并确保成分的总和仍为1。
- 参数:
mat (array_like) -- 比例矩阵,其中行=成分,列=成分
delta (float, optional) -- 用于替换零的一个小数字如果未指定增量,则缺省增量为 \(\delta = \frac{1}{N^2}\) 哪里 \(N\) 是组件的数量
- 返回:
一个比例矩阵,其中所有的值都不是零,并且每个组成(行)加起来等于1
- 返回类型:
numpy.ndarray, np.float64
- 抛出:
ValueError -- 如果由于较大的 delta 。
备注
如果选择较大的增量,此方法将导致负比例。
引用
示例
>>> import numpy as np >>> from skbio.stats.composition import multiplicative_replacement >>> X = np.array([[.2,.4,.4, 0],[0,.5,.5,0]]) >>> multiplicative_replacement(X) array([[ 0.1875, 0.375 , 0.375 , 0.0625], [ 0.0625, 0.4375, 0.4375, 0.0625]])