check_symmetric#

sklearn.utils.validation.check_symmetric(массив, *, tol=1e-10, raise_warning=True, raise_exception=False)[источник]#

Убедитесь, что массив двумерный, квадратный и симметричный.

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

Параметры:
массив{ndarray, sparse matrix}

Входной объект для проверки / преобразования. Должен быть двумерным и квадратным, иначе будет вызвано исключение ValueError.

tolfloat, по умолчанию=1e-10

Некоторые конфигурации входных данных могут привести к сингулярным весовым матрицам, например, когда более двух точек в наборе данных идентичны или когда данные разделены на непересекающиеся группы. В этом случае,

raise_warningbool, по умолчанию=True

Если True, то выдать предупреждение, если требуется преобразование.

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

Если True, то вызывает исключение, если массив не симметричен.

Возвращает:
array_sym{ndarray, sparse matrix}

Симметризованная версия входного массива, т.е. среднее массива и array.transpose(). Если разреженный, то повторяющиеся элементы сначала суммируются, а нули устраняются.

Примеры

>>> import numpy as np
>>> from sklearn.utils.validation import check_symmetric
>>> symmetric_array = np.array([[0, 1, 2], [1, 0, 1], [2, 1, 0]])
>>> check_symmetric(symmetric_array)
array([[0, 1, 2],
       [1, 0, 1],
       [2, 1, 0]])
>>> from scipy.sparse import csr_matrix
>>> sparse_symmetric_array = csr_matrix(symmetric_array)
>>> check_symmetric(sparse_symmetric_array)

    with 6 stored elements and shape (3, 3)>