当我从模块sklearn.utils.validation
导入函数check_array
时,它得到了导入错误(ImportError: cannot import name check_array
)。选项卡完成得到了check_arrays
,但我想知道validation.py
中只存在一个名为 check_array
的函数(Github 上的源代码)。此外,在scikit-learn/sklearn/cluster/spectral中实现的频谱聚类算法.py也使用了from ..utils.validation import check_array
,而不是check_arrays
。我对此很困惑,我的scikit学习版本是'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_
如果您使用 jupyter notebook,请尝试重新启动内核。
对于那些搜索的人来说,正如@eickenberg评论中提到的,这是版本之间更改的内容。使用最新版本的scikit-learn
解决了该问题。
点击内核>重新启动并运行所有