檢查對稱性#
- 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)>