def transform(self, durations, events): durations = _values_if_series(durations) durations = durations.astype(self._dtype) events = _values_if_series(events) dur_disc, events = self.duc.transform(durations, events) idx_durations = self.di.transform(dur_disc) cut_diff = np.diff(self.cuts) assert (cut_diff > 0).all(), 'Cuts are not unique.' t_frac = 1. - (dur_disc - durations) / cut_diff[idx_durations - 1] if idx_durations.min() == 0: warnings.warn( """Got event/censoring at start time. Should be removed! It is set s.t. it has no contribution to loss.""" ) t_frac[idx_durations == 0] = 0 events[idx_durations == 0] = 0 idx_durations = idx_durations - 1 return idx_durations, events.astype('float32'), t_frac.astype( 'float32')
def transform(self, durations, events): durations = _values_if_series(durations) durations = durations.astype(self._dtype) events = _values_if_series(events) idx_durations, events = self.idu.transform(durations, events) return idx_durations, events.astype('float32')