code: def predict_log_partial_hazard(self, X):
          r
          if isinstance(X, pd.DataFrame):
              order = self.hazards_.index
              X = X[order]
              check_for_numeric_dtypes_or_raise(X)
  
          X = X.astype(float)
          index = _get_index(X)
          X = normalize(X, self._norm_mean.values, 1)
          return pd.DataFrame(np.dot(X, self.hazards_), index=index)
docs: r"""
          This is equivalent to R's linear.predictors.
          Returns the log of the partial hazard for the individuals, partial since the
          baseline hazard is not included. Equal to :math:`(x - \bar{x})'\beta `
  
  
          Parameters
          ----------
          X: numpy array or DataFrame
              a (n,d) covariate numpy array or DataFrame. If a DataFrame, columns
              can be in any order. If a numpy array, columns must be in the
              same order as the training data.
  
          Returns
          -------
          DataFrame
  
          Note
          -----
          If X is a DataFrame, the order of the columns do not matter. But
          if X is an array, then the column ordering is assumed to be the
          same as the training dataset.