生成稀疏编码信号#

sklearn.datasets.make_sparse_coded_signal(n_samples, *, n_components, n_features, n_nonzero_coefs, random_state=None)[source]#

生成信号作为字典元素的稀疏组合。

返回矩阵 YDX,使得 Y = XD,其中 X 的形状为 (n_samples, n_components)D 的形状为 (n_components, n_features),并且 X 的每一行都恰好有 n_nonzero_coefs 个非零元素。

用户指南 中了解更多信息。

参数:
n_samplesint

要生成的样本数。

n_componentsint

字典中的成分数量。

n_featuresint

要生成的dataset的特征数量。

n_nonzero_coefsint

每个样本中活动(非零)系数的数量。

random_stateint,RandomState 实例或 None,默认为 None

确定数据集创建的随机数生成。传递一个整数以在多次函数调用中获得可重复的输出。参见 词汇表

返回:
datashape 为 (n_samples, n_features) 的 ndarray

编码信号 (Y)。

dictionaryshape 为 (n_components, n_features) 的 ndarray

具有标准化成分的字典 (D)。

codeshape 为 (n_samples, n_components) 的 ndarray

稀疏代码,使得该矩阵的每一列恰好有 n_nonzero_coefs 个非零项 (X)。

示例

>>> from sklearn.datasets import make_sparse_coded_signal
>>> data, dictionary, code = make_sparse_coded_signal(
...     n_samples=50,
...     n_components=100,
...     n_features=10,
...     n_nonzero_coefs=4,
...     random_state=0
... )
>>> data.shape
(50, 10)
>>> dictionary.shape
(100, 10)
>>> code.shape
(50, 100)