检查对称性#
- sklearn.utils.validation.check_symmetric(array, *, tol=1e-10, raise_warning=True, raise_exception=False)[source]#
- 确保数组是二维的、方形的且是对称的。 - 如果数组不对称,则返回其对称版本。如果矩阵不对称,则可以选择性地发出警告或引发异常。 - 参数:
- array{ndarray, 稀疏矩阵}
- 要检查/转换的输入对象。必须是二维且方形的,否则将引发 ValueError。 
- tolfloat, 默认值=1e-10
- 数组等价的绝对容差。默认值 = 1E-10。 
- raise_warningbool, 默认值=True
- 如果为 True,则如果需要转换则发出警告。 
- raise_exceptionbool, 默认值=False
- 如果为 True,则在数组不是对称矩阵时引发异常。 
 
- 返回值:
- array_sym{ndarray, 稀疏矩阵}
- 输入数组的对称版本,即数组与其转置的平均值。如果是稀疏矩阵,则首先将重复项求和并消除零元素。 
 
 - 示例 - >>> 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)> 
