sparse_encode#
- sklearn.decomposition.sparse_encode(X, словарь, *, грамм=None, cov=None, алгоритм='lasso_lars', n_nonzero_coefs=None, alpha=None, copy_cov=True, init=None, max_iter=1000, n_jobs=None, check_input=True, verbose=0, положительный=False)[источник]#
Разреженное кодирование.
Каждая строка результата является решением задачи разреженного кодирования. Цель — найти разреженный массив
codeтакой, что:X ~= code * dictionary
Подробнее в Руководство пользователя.
- Параметры:
- Xarray-like формы (n_samples, n_features)
Матрица данных.
- словарьarray-like формы (n_components, n_features)
Матрица словаря, относительно которой решается разреженное кодирование данных. Некоторые алгоритмы предполагают нормализованные строки для получения осмысленного результата.
- граммarray-like формы (n_components, n_components), по умолчанию=None
Предвычисленная матрица Грама,
dictionary * dictionary'.- covarray-like формы (n_components, n_samples), по умолчанию=None
Предвычисленная ковариация,
dictionary' * X.- алгоритм{‘lasso_lars’, ‘lasso_cd’, ‘lars’, ‘omp’, ‘threshold’}, по умолчанию=’lasso_lars’
Используемый алгоритм:
'lars': использует метод наименьшего угла регрессии (linear_model.lars_path);'lasso_lars': использует Lars для вычисления решения Lasso;'lasso_cd': использует метод координатного спуска для вычисления решения Lasso (linear_model.Lasso). lasso_lars будет быстрее, если оцениваемые компоненты разрежены;'omp': использует ортогональное согласованное преследование для оценки разреженного решения;'threshold': обнуляет все коэффициенты меньше регуляризации из проекцииdictionary * data'.
- n_nonzero_coefsint, default=None
Количество ненулевых коэффициентов для целевого значения в каждом столбце решения. Используется только
algorithm='lars'иalgorithm='omp'и переопределяетсяalphaвompслучай. ЕслиNone, затемn_nonzero_coefs=int(n_features / 10).- alphafloat, по умолчанию=None
Если
algorithm='lasso_lars'илиalgorithm='lasso_cd',alphaявляется штрафом, применяемым к норме L1. Еслиalgorithm='threshold',alphaявляется абсолютным значением порога, ниже которого коэффициенты будут сжаты до нуля. Еслиalgorithm='omp',alphaэто параметр допуска: значение целевой ошибки реконструкции. В этом случае он переопределяетn_nonzero_coefs. ЕслиNone, по умолчанию 1.- copy_covbool, по умолчанию=True
Копировать ли предварительно вычисленную ковариационную матрицу; если
False, он может быть перезаписан.- initndarray формы (n_samples, n_components), по умолчанию=None
Начальное значение разреженных кодов. Используется только если
algorithm='lasso_cd'.- max_iterint, по умолчанию=1000
Максимальное количество итераций для выполнения, если
algorithm='lasso_cd'или'lasso_lars'.- n_jobsint, default=None
Количество параллельных задач для выполнения.
Noneозначает 1, если только не вjoblib.parallel_backendконтекст.-1означает использование всех процессоров. См. Глоссарий для получения дополнительной информации.- check_inputbool, по умолчанию=True
Если
False, входные массивы X и словарь не будут проверяться.- verboseint, по умолчанию=0
Управляет подробностью вывода; чем выше, тем больше сообщений.
- положительныйbool, по умолчанию=False
Следует ли обеспечивать положительность при поиске кодирования.
Добавлено в версии 0.20.
- Возвращает:
- кодndarray формы (n_samples, n_components)
Разреженные коды.
Смотрите также
sklearn.linear_model.lars_pathВычислить путь регрессии наименьших углов или Lasso с использованием алгоритма LARS.
sklearn.linear_model.orthogonal_mpРешает задачи ортогонального согласованного преследования.
sklearn.linear_model.LassoОбучает линейную модель с L1-априорным распределением в качестве регуляризатора.
SparseCoderНайти разреженное представление данных из фиксированного предварительно вычисленного словаря.
Примеры
>>> import numpy as np >>> from sklearn.decomposition import sparse_encode >>> X = np.array([[-1, -1, -1], [0, 0, 3]]) >>> dictionary = np.array( ... [[0, 1, 0], ... [-1, -1, 2], ... [1, 1, 1], ... [0, 1, 1], ... [0, 2, 1]], ... dtype=np.float64 ... ) >>> sparse_encode(X, dictionary, alpha=1e-10) array([[ 0., 0., -1., 0., 0.], [ 0., 1., 1., 0., 0.]])