Я пытаюсь использовать заголовок времени жизни для создания недавности, частоты и T из заданных данных, но он продолжает показывать следующую ошибку AttributeError: модуль «scipy.misc» не имеет атрибута «logsumexp»
from lifetimes.plotting import *
from lifetimes.utils import *
from lifetimes.estimation import *
data = summary_data_from_transaction_data(df, 'CustomerID','InvoiceDate', monetary_value_col='Sales', observation_period_end='2011-12-9')
print(data.head())
Получен следующий вывод:
Traceback (most recent call last):
File "prj2.py", line 23, in <module>
from lifetimes.plotting import *
File "C:\Users\AppData\Local\Programs\Python\Python37-32\lib\site-packages\lifetimes\__init__.py", line 5, in <module>
from .fitters.beta_geo_fitter import BetaGeoFitter
File "C:\Users\AppData\Local\Programs\Python\Python37-32\lib\site-packages\lifetimes\fitters\beta_geo_fitter.py", line 9, in <module>
from autograd.scipy.special import gammaln, beta, gamma
File "C:\Users\AppData\Local\Programs\Python\Python37-32\lib\site-packages\autograd\scipy\__init__.py", line 7, in <module>
from . import misc
File "C:\Users\AppData\Local\Programs\Python\Python37-32\lib\site-packages\autograd\scipy\misc.py", line 7, in <module>
logsumexp = primitive(scipy.misc.logsumexp)
AttributeError: module 'scipy.misc' has no attribute 'logsumexp'
Версия SciPy — 1.3.0. Код должен генерировать таблицу с давностью, частотой и Т каждого клиента.
Следующая функция не определяется пользователем. Это часть библиотеки жизней
Вы можете распечатать трассировку стека ошибки, а также версию scipy?
Переход на scipy==1.1.0 решает проблему
Изменить from scipy.misc import logsumexp
на from scipy.special import logsumexp
Я попробовал оба решения, понизил версию scipy и изменил ее на специальную вместо разной. Но я все еще получаю ту же ошибку. Я использую эту функцию в colab. Есть ли другое решение?
покажите код функции summary_data_from_transaction_data().