clearbox/models/brute_force.py [89:111]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  def predict(self, x: npt.NDArray[float]) -> npt.NDArray[float]:
    """Predicts the model using the best weights found during .fit().

    Args:
      x:
        The features to predict for. Shape: (N, F)
    Returns:
      The predicted scores. Shape: (N,)
    """
    assert (
        self._weights is not None
    ), 'Please call .fit() first to tune the model.'
    return np.dot(x, self._weights)

  @property
  def weights(self) -> npt.NDArray[float] | None:
    """Getter for the tuned weights of the model if they are available.

    Returns:
      Array of weights as floats if they are available, otherwise `None`.
      Shape: (F,).
    """
    return self._weights
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



clearbox/models/probabilistic.py [426:448]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  def predict(self, x: npt.NDArray[float]) -> npt.NDArray[float]:
    """Predicts the model using the best weights found during .fit().

    Args:
      x: The features to predict for. Shape: (N, F)

    Returns:
      The predicted scores. Shape: (N,)
    """
    assert (
        self._weights is not None
    ), 'Please call .fit() first to tune the model.'
    return np.dot(x, self._weights)

  @property
  def weights(self) -> npt.NDArray[float] | None:
    """Getter for the tuned weights of the model if they are available.

    Returns:
      Array of weights as floats if they are available, otherwise `None`.
      Shape: (F,).
    """
    return self._weights
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



