Python错误 "AttributeError: module 'scipy.misc' has no attribute 'logsumexp'" 的意思是模块'scipy.misc'中没有'logsumexp'属性。

4

我试图使用生命周期头(lifetimes header)从给定数据创建最近性(Recency)、频率(Frequency)和T,但它一直显示以下错误:AttributeError: module 'scipy.misc' has no attribute '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。 代码应该生成一张每个客户的最近购买时间、购买次数和生命周期的表格。


展示 summary_data_from_transaction_data() 函数的代码。 - vb_rises
以下函数不是用户定义的,它是生命周期库的一部分。 - Shantanu
你能打印出错误的堆栈跟踪以及Scipy的版本吗? - vb_rises
2个回答

6

降级到 scipy==1.1.0 可以解决这个问题


1

from scipy.misc import logsumexp改为from scipy.special import logsumexp


我尝试了两种解决方案,降级scipy版本并改用special而不是misc。但我仍然遇到相同的错误。我在colab上使用此函数。是否有其他解决方案? - j '

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接