当我从模块check_array
导入函数sklearn.utils.validation
时,它获得了导入错误(ImportError: cannot import name check_array
)。
标签已完成check_arrays
,但我想知道在check_array
(source code on Github)中只存在一个名为validation.py
的函数。
此外,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_
答案 0 :(得分:4)
如果使用jupyter笔记本,请尝试重新启动内核。
答案 1 :(得分:1)
对于那些搜索,正如@eickenberg在评论中提到的,这是在版本之间发生了变化。使用最新版本的scikit-learn
解决了这个问题。