檢查對稱性#

sklearn.utils.validation.check_symmetric(array, *, tol=1e-10, raise_warning=True, raise_exception=False)[原始碼]#

確保陣列是 2D、正方形且對稱。

如果陣列不對稱,則會傳回一個對稱化的版本。選擇性地,如果矩陣不對稱,則會發出警告或例外。

參數:
array{ndarray, 稀疏矩陣}

要檢查/轉換的輸入物件。必須是二維且為正方形,否則會引發 ValueError。

tolfloat, 預設值=1e-10

陣列等效性的絕對容差。預設值 = 1E-10。

raise_warningbool, 預設值=True

如果為 True,則在需要轉換時發出警告。

raise_exceptionbool, 預設值=False

如果為 True,則在陣列不對稱時引發例外。

傳回值:
array_sym{ndarray, 稀疏矩陣}

輸入陣列的對稱化版本,即陣列和 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)
<Compressed Sparse Row sparse matrix of dtype 'int64'
    with 6 stored elements and shape (3, 3)>