均值方差轴#

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]))