safe_sparse_dot#

sklearn.utils.extmath.safe_sparse_dot(a, b, *, dense_output=False)[источник]#

Скалярное произведение, корректно обрабатывающее разреженные матрицы.

Параметры:
a{ndarray, sparse matrix}
b{ndarray, sparse matrix}
dense_outputbool, по умолчанию=False

Когда False, a и b оба разреженных дадут разреженный вывод. Когда True, вывод всегда будет плотным массивом.

Возвращает:
dot_product{ndarray, sparse matrix}

Разреженный, если a и b являются разреженными и dense_output=False.

Примеры

>>> from scipy.sparse import csr_matrix
>>> from sklearn.utils.extmath import safe_sparse_dot
>>> X = csr_matrix([[1, 2], [3, 4], [5, 6]])
>>> dot_product = safe_sparse_dot(X, X.T)
>>> dot_product.toarray()
array([[ 5, 11, 17],
       [11, 25, 39],
       [17, 39, 61]])