mean_variance_axis#

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

計算 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_weightsbool,預設值為 False

如果為 True,則如果 axis=0,則傳回每個特徵的權重總和;如果 axis=1,則傳回每個樣本的權重總和。

在 0.24 版本中新增。

回傳值:
means形狀為 (n_features,) 的 ndarray,dtype=floating

以特徵為單位的平均值。

variances形狀為 (n_features,) 的 ndarray,dtype=floating

以特徵為單位的變異數。

sum_weights形狀為 (n_features,) 的 ndarray,dtype=floating

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