mean_variance_axis#

sklearn.utils.sparsefuncs.mean_variance_axis(X, axis, weights=None, return_sum_weights=False)[source]#

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

参数:
X形状为 (n_samples, n_features) 的稀疏矩阵

输入数据。可以是 CSR 或 CSC 格式。

axis{0, 1}

应计算均值和方差的轴。

weights形状为 (n_samples,) 或 (n_features,) 的 ndarray,默认值=None

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

0.24 版本新增。

return_sum_weights布尔值,默认值=False

如果为 True,则在 axis=0 时返回每个特征的权重总和,在 axis=1 时返回每个样本的权重总和。

0.24 版本新增。

返回:
means形状为 (n_features,) 的 ndarray,数据类型=浮点型

按特征计算的均值。

variances形状为 (n_features,) 的 ndarray,数据类型=浮点型

按特征计算的方差。

sum_weights形状为 (n_features,) 的 ndarray,数据类型=浮点型

如果 return_sum_weightsTrue 则返回。

示例

>>> 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.mean_variance_axis(csr, axis=0)
(array([2.  , 0.25, 1.75]), array([12.    ,  0.1875,  4.1875]))