check_symmetric#

sklearn.utils.validation.check_symmetric(array, *, tol=1e-10, raise_warning=True, raise_exception=False)[源代码]#

确保阵列是2D、方形且对称的。

如果数组不对称,则返回对称版本。或者,如果矩阵不对称,则会引发警告或异常。

参数:
array{nd数组,稀疏矩阵}

输入要检查/转换的对象。必须是二维且方形的,否则将引发ValueHelp。

tol浮动,默认= 1 e-10

数组等效性的绝对容忍度。默认= 1 E-10。

raise_warning布尔,默认=True

如果为True,则在需要转换时发出警告。

raise_exception布尔,默认=假

如果为True,则如果数组不对称,则引发异常。

返回:
array_sym{nd数组,稀疏矩阵}

输入数组的对称化版本,即数组和数组的平均值。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)
<Compressed Sparse Row sparse matrix of dtype 'int64'
    with 6 stored elements and shape (3, 3)>