为什么在使用numpy 1.13.3时从scipy导入'comb'失败?

时间:2019-05-24 14:08:29

标签: python-3.x numpy scikit-learn scipy google-colaboratory

我正在研究Google Collab中的功能选择和分类问题。我能够使用numpy版本1.11.3执行该程序。不幸的是,今天我在使用numpy(1.13.3)时遇到错误,因为scipy不再在Collab中支持1.11.3。我使用的是numpy 1.11.3,因为它虽然对我来说还是旧的,但对我来说却很有效。似乎'comb'不再可以在python环境中导入。如何使用较新版本的numpy进行此项工作?另外,如何以及在哪里检查将来可能出现的其他库的不兼容问题?

我尝试手动输入“ from scipy.misc import comb”和“ from scipy import comb”,但仍然无法正常工作。

import numpy as np
from sklearn.feature_selection import SelectPercentile, f_classif
from time import time

np.seterr(divide='ignore', invalid='ignore');
selector=SelectPercentile(f_classif , percentile = 8)
t0 = time()
X_newDoS = selector.fit_transform(X_DoS,Y_DoS)
print ('Time =', time() - t0)

我收到的错误消息是:“ ImportError:无法导入名称'comb'”

1 个答案:

答案 0 :(得分:2)

根据scipy文档

from scipy.misc import comb 
从1.0.0版开始不推荐使用

。应该使用

from scipy.special import comb 

相反。

https://docs.scipy.org/doc/scipy-1.2.1/reference/generated/scipy.misc.comb.html