docs: def add_intercept(X):
      """ Add intercept column to X """
      intercept = np.ones((X.shape[0], 1))
      if sp.issparse(X):
          return sp.hstack([X, intercept]).tocsr()
      else:
          return np.hstack([X, intercept])