8000 Add safe dot product for sparse matrices · scikit-learn/scikit-learn@22a620d · GitHub
[go: up one dir, main page]

Skip to content

Commit 22a620d

Browse files
committed
Add safe dot product for sparse matrices
1 parent 4f473cf commit 22a620d

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

sklearn/linear_model/_logistic.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,11 @@ def _logistic_grad_hess(w, X, y, alpha, sample_weight=None):
233233

234234
def Hs(s):
235235
ret = np.empty_like(s)
236-
ret[:n_features] = np.linalg.multi_dot([X.T, dX, s[:n_features]])
236+
if sparse.issparse(X):
237+
XTdX = safe_sparse_dot(X.T, dX)
238+
ret[:n_features] = safe_sparse_dot(XTdX, s[:n_features])
239+
else:
240+
ret[:n_features] = np.linalg.multi_dot([X.T, dX, s[:n_features]])
237241
ret[:n_features] += alpha * s[:n_features]
238242

239243
# For the fit intercept case.

0 commit comments

Comments
 (0)
0