0

I am trying to run the lifelines package,

import numpy as np
from scipy import stats
import pandas as pd
from scipy.special import logsumexp
from lifelines import KaplanMeierFitter, CoxPHFitter
from lifelines.statistics import logrank_test

And the results turn out

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-1-2f2a9dd88e46> in <module>
      4 from scipy.special import logsumexp
----> 5 from lifelines import KaplanMeierFitter, CoxPHFitter
      6 from lifelines.statistics import logrank_test

~/.virtualenvs/stats/lib/python3.7/site-packages/lifelines/__init__.py in <module>
     12 from lifelines.fitters.aalen_johansen_fitter import AalenJohansenFitter
---> 13 from lifelines.fitters.log_normal_fitter import LogNormalFitter
     14 from lifelines.fitters.log_logistic_fitter import LogLogisticFitter

~/.virtualenvs/stats/lib/python3.7/site-packages/lifelines/fitters/log_normal_fitter.py in <module>
      4 import autograd.numpy as np
----> 5 from autograd.scipy.stats import norm
      6 from lifelines.fitters import KnownModelParametericUnivariateFitter

~/.virtualenvs/stats/lib/python3.7/site-packages/autograd/scipy/__init__.py in <module>
      6 try:
----> 7     from . import misc
      8 except ImportError:
      9     pass

~/.virtualenvs/stats/lib/python3.7/site-packages/autograd/scipy/misc.py in <module>
      5 from autograd.numpy.numpy_vjps import repeat_to_match_shape
      6 
----> 7 logsumexp = primitive(scipy.misc.logsumexp)
      8 
      9 def make_grad_logsumexp(ans, x, axis=None, b=1.0, keepdims=False):

AttributeError: module 'scipy.misc' has no attribute 'logsumexp'

I understand that the logsumexp has been removed from scipy.misc and place in scipy.special. And previously some recommend to downgrading the SciPy to 1.1.0 version. However, will it be easier if I change the code from

logsumexp = primitive(scipy.misc.logsumexp)

to

logsumexp = primitive(scipy.special.logsumexp)

And if it is possible, may I know how can I modify the code? Is this code in Scipy.misc or is this code in lifelines?

pill45
  • 599
  • 3
  • 8
  • 23
  • Take a closer look at the traceback. You'll see that the error arises from code in the package `autograd`. It has been fixed in the master branch of `autograd` (https://github.com/HIPS/autograd/issues/501), but it looks like there hasn't been a release of `autograd` for quite a while. – Warren Weckesser Jul 09 '19 at 15:57
  • 1
    lifelines has scipy pinned at 1.2.1 to avoid this error. https://github.com/CamDavidsonPilon/lifelines/issues/725 – Cam.Davidson.Pilon Jul 09 '19 at 16:35

0 Answers0