check_symmetric#
- sklearn.utils.validation.check_symmetric(array,*,tol=1e-10,raise_warning=True,raise_exception=False)[source]#
Make sure that array is 2D, square and symmetric.
If the array is not symmetric, then a symmetrized version is returned.Optionally, a warning or exception is raised if the matrix is notsymmetric.
- Parameters:
- array{ndarray, sparse matrix}
Input object to check / convert. Must be two-dimensional and square,otherwise a ValueError will be raised.
- tolfloat, default=1e-10
Absolute tolerance for equivalence of arrays. Default = 1E-10.
- raise_warningbool, default=True
If True then raise a warning if conversion is required.
- raise_exceptionbool, default=False
If True then raise an exception if array is not symmetric.
- Returns:
- array_sym{ndarray, sparse matrix}
Symmetrized version of the input array, i.e. the average of arrayand array.transpose(). If sparse, then duplicate entries are firstsummed and zeros are eliminated.
Examples
>>>importnumpyasnp>>>fromsklearn.utils.validationimportcheck_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]])>>>fromscipy.sparseimportcsr_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)>
On this page
