#20297#

sklearn.metrics.pairwise.#20297(X, Y=None, метрика='linear', *, filter_params=False, n_jobs=None, **kwds)[источник]#

Вычислить ядро между массивами X и необязательным массивом Y.

Эта функция принимает один или два массива признаков или матрицу ядра и возвращает матрицу ядра.

  • Если X является массивом признаков, формы (n_samples_X, n_features), и:

    • Y является None и metric не ‘precomputed’, попарные ядра между X и сам возвращаются.

    • Y является массивом признаков формы (n_samples_Y, n_features), попарные ядра между X и Y возвращается.

  • Если X является матрицей ядра, формы (n_samples_X, n_samples_X), metric должно быть 'precomputed'. Y поэтому игнорируется и X возвращается как есть.

Этот метод обеспечивает безопасный способ использования матрицы ядра в качестве входных данных, сохраняя совместимость со многими другими алгоритмами, которые принимают массив векторов.

Допустимые значения для metric:

[‘additive_chi2’, ‘chi2’, ‘linear’, ‘poly’, ‘polynomial’, ‘rbf’, ‘laplacian’, ‘sigmoid’, ‘cosine’]

Подробнее в Руководство пользователя.

Параметры:
X{array-like, sparse matrix} формы (n_samples_X, n_samples_X) или (n_samples_X, n_features)

Массив попарных ядер между образцами или массив признаков. Форма массива должна быть (n_samples_X, n_samples_X), если metric == "precomputed", и (n_samples_X, n_features) в противном случае.

Y{array-like, sparse matrix} формы (n_samples_Y, n_features), по умолчанию=None

Второй массив признаков, только если X имеет форму (n_samples_X, n_features).

метрикаstr или callable, по умолчанию="linear"

Метрика, используемая при вычислении ядра между экземплярами в массиве признаков. Если metric — строка, она должна быть одной из метрик в pairwise.PAIRWISE_KERNEL_FUNCTIONS. Если метрика "precomputed", предполагается, что X является матрицей ядра. В качестве альтернативы, если метрика является вызываемой функцией, она вызывается для каждой пары экземпляров (строк), и полученное значение записывается. Вызываемая функция должна принимать две строки из X в качестве входных данных и возвращать соответствующее значение ядра в виде одного числа. Это означает, что вызываемые функции из sklearn.metrics.pairwise не разрешены, так как они работают с матрицами, а не с отдельными выборками. Используйте строку, идентифицирующую ядро.

filter_paramsbool, по умолчанию=False

Фильтровать ли недействительные параметры или нет.

n_jobsint, default=None

Количество заданий для вычисления. Это работает путем разбиения матрицы попарных расстояний на n_jobs равных частей и их вычисления с использованием многопоточности.

None означает 1, если только не в joblib.parallel_backend контекст. -1 означает использование всех процессоров. См. Глоссарий для получения дополнительной информации.

**kwdsопциональные параметры ключевых слов

Любые дополнительные параметры передаются напрямую в функцию ядра.

Возвращает:
Kndarray формы (n_samples_X, n_samples_X) или (n_samples_X, n_samples_Y)

Матрица ядра K, такая что K_{i, j} - это ядро между i-м и j-м векторами заданной матрицы X, если Y равно None. Если Y не равно None, то K_{i, j} - это ядро между i-м массивом из X и j-м массивом из Y.

Примечания

Если metric является вызываемым объектом, никаких ограничений не накладывается на X и Y измерения.

Примеры

>>> from sklearn.metrics.pairwise import pairwise_kernels
>>> X = [[0, 0, 0], [1, 1, 1]]
>>> Y = [[1, 0, 0], [1, 1, 0]]
>>> pairwise_kernels(X, Y, metric='linear')
array([[0., 0.],
       [1., 2.]])