增量计算均值和方差(沿轴)#
- sklearn.utils.sparsefuncs.incr_mean_variance_axis(X, *, axis, last_mean, last_var, last_n, weights=None)[source]#
- 在CSR或CSC矩阵上沿指定轴计算增量均值和方差。 - last_mean、last_var是该函数上一步计算的统计量。两者都必须初始化为大小正确的0数组,即X的特征数。last_n是到目前为止遇到的样本数。 - 参数:
- X形状为(n_samples, n_features)的CSR或CSC稀疏矩阵
- 输入数据。 
- 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_n浮点数或形状为 (n_features,) 或 (n_samples,) 的 ndarray,dtype=floating
- 迄今为止看到的权重之和,不包括当前权重。如果不是浮点数,则如果 axis=0,其形状应为 (n_features,);如果 axis=1,则形状应为 (n_samples,)。如果是浮点数,则表示所有样本(或特征)的权重相同。 
- weights形状为 (n_samples,) 或 (n_features,) 的 ndarray,默认为 None
- 如果 axis 设置为 0,则形状为 (n_samples,);如果 axis 设置为 1,则形状为 (n_features,)。如果设置为 None,则样本权重相等。 - 0.24 版本中新增。 
 
- 返回:
- 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 为看到的样本或特征的权重之和,而不是实际看到的样本或特征数。 
 
 - 注释 - 算法中忽略 NaN 值。 - 示例 - >>> 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.])) 
