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)>