incr_mean_variance_axis#

sklearn.utils.sparsefuncs.incr_mean_variance_axis(X, *, axis, last_mean, last_var, last_n, weights=None)#

计算CSR或CSC矩阵沿轴的增量均值和方差。

last_mean, last_var是此函数在上一步计算的统计数据。两者都必须初始化为适当大小的0-数组,即X中的特征数量。last_n是到目前为止遇到的样本数量。

Parameters:
XCSR或CSC稀疏矩阵,形状为(n_samples, n_features)

输入数据。

axis{0, 1}

应沿其计算轴的轴。

last_mean形状为(n_features,)或(n_samples,)的ndarray,dtype=floating

用新数据X更新均值的数组。 如果axis=0,形状应为(n_features,),如果axis=1,形状应为(n_samples,)。

last_var形状为(n_features,)或(n_samples,)的ndarray,dtype=floating

用新数据X更新方差的数组。 如果axis=0,形状应为(n_features,),如果axis=1,形状应为(n_samples,)。

last_nfloat或形状为(n_features,)或(n_samples,)的ndarray,dtype=floating

到目前为止看到的权重总和,不包括当前权重 如果不是float,则如果axis=0,形状应为(n_features,),如果axis=1,形状应为(n_samples,)。如果是float,则对应于所有样本(或特征)具有相同的权重。

weights形状为(n_samples,)或(n_features,)的ndarray,default=None

如果axis设置为0,形状为(n_samples,), 如果axis设置为1,形状为(n_features,)。 如果设置为None,则样本等权重。

Added in version 0.24.

Returns:
means形状为(n_features,)或(n_samples,)的ndarray,dtype=floating

如果axis = 0,更新后的特征均值, 如果axis = 1,更新后的样本均值。

variances形状为(n_features,)或(n_samples,)的ndarray,dtype=floating

如果axis = 0,更新后的特征方差, 如果axis = 1,更新后的样本方差。

n形状为(n_features,)或(n_samples,)的ndarray,dtype=integral

如果axis=0,更新后的每个特征看到的样本数量, 如果axis=1,更新后的每个样本看到的特征数量。

如果weights不为None,n是看到的样本或特征的权重总和,而不是看到的实际样本或特征数量。

Notes

算法中忽略NaN。

Examples

>>> from sklearn.utils import sparsefuncs
>>> from scipy import sparse
>>> import numpy as np
>>> indptr = np.array([0, 3, 4, 4, 4])
>>> indices = np.array([0, 1, 2, 2])
>>> data = np.array([8, 1, 2, 5])
>>> scale = np.array([2, 3, 2])
>>> csr = sparse.csr_matrix((data, indices, indptr))
>>> csr.todense()
matrix([[8, 1, 2],
        [0, 0, 5],
        [0, 0, 0],
        [0, 0, 0]])
>>> sparsefuncs.incr_mean_variance_axis(
...     csr, axis=0, last_mean=np.zeros(3), last_var=np.zeros(3), last_n=2
... )
(array([1.3..., 0.1..., 1.1...]), array([8.8..., 0.1..., 3.4...]),
array([6., 6., 6.]))