code: def predict_survival_function(self, X, times=None):
          
          return np.exp(-self.predict_cumulative_hazard(X, times=times))
docs: Predict the survival function for individuals, given their covariates. This assumes that the individual
          just entered the study (that is, we do not condition on how long they have already lived for.)
  
          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.
          times: iterable, optional
              an iterable of increasing times to predict the cumulative hazard at. Default
              is the set of all durations (observed and unobserved). Uses a linear interpolation if
              points in time are not in the index.
  
  
          Returns
          -------
          survival_function : DataFrame
              the survival probabilities of individuals over the timeline