make_sparse_coded_signal#

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_samples整型

要生成的样本数。

n_components整型

字典中的分量数。

n_features整型

要生成的数据集的特征数。

n_nonzero_coefs整型

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

random_state整型,RandomState 实例或 None,默认为 None

确定数据集创建的随机数生成。传入一个整型值可确保在多次函数调用中输出可重现。请参阅 术语表

返回:
data形状为 (n_samples, n_features) 的 ndarray

编码信号 (Y)。

dictionary形状为 (n_components, n_features) 的 ndarray

具有归一化分量的字典 (D)。

code形状为 (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)