ImportError:无法从 sklearn.utils.validation 导入名称 check_array
Posted
技术标签:
【中文标题】ImportError:无法从 sklearn.utils.validation 导入名称 check_array【英文标题】:ImportError: cannot import name check_array from sklearn.utils.validation 【发布时间】:2015-01-26 04:34:21 【问题描述】:当我从模块 sklearn.utils.validation
导入函数 check_array
时,它得到一个导入错误 (ImportError: cannot import name check_array
)。
选项卡完成得到check_arrays
,但我想知道validation.py
(source code on Github)中只存在一个名为check_array
的函数。
此外,scikit-learn/sklearn/cluster/spectral.py 中实现的谱聚类算法也使用了from ..utils.validation import check_array
,而不是check_arrays
。
我对此很困惑,我的 scikit-learn 版本是'0.15.0b1'
。希望有人给我一个线索。
import numpy as np
from sklearn.utils.validation import check_array
def my_fit_affinity(X, affinity_type, n_neighbors, **kernel_params):
""" Create an affinity matrix for X using the selected affinity type
"""
X = check_array(X, accept_sparse = ['csr', 'csc', 'coo'])
....
return affinity_matrix_
【问题讨论】:
请用最短的代码示例重现您的错误。 @AndréLaszlo 我添加了示例代码 最近发生了变化。所以应该是版本问题。确保您使用的是最新版本,并且任何地方都没有之前版本的残留文件。 @eickenberg 谢谢,我已经解决了这个问题~ @amaatouq 使用check_arrays
代替 check_array
可能会起作用
【参考方案1】:
如果您使用 jupyter notebook,请尝试重新启动内核。
【讨论】:
【参考方案2】:对于那些搜索,正如@eickenberg 在 cmets 中提到的那样,这是在版本之间发生了变化的东西。使用最新版本的scikit-learn
解决了这个问题。
【讨论】:
【参考方案3】:点击内核>重新启动并运行所有
【讨论】:
重启内核在this earlier answer中已经提到过。以上是关于ImportError:无法从 sklearn.utils.validation 导入名称 check_array的主要内容,如果未能解决你的问题,请参考以下文章
python aiorpc:“ImportError:无法从'aiorpc.server'导入名称'RPCServer'”
ImportError:无法从“变压器”导入名称“AutoModelWithLMHead”
ImportError:无法从“matplotlib.mlab”导入名称“PCA”
ImportError:无法从“sklearn.externals”导入名称“joblib”