ImportError:无法从sklearn.utils.validation导入名称check_array

时间:2014-11-27 14:33:09

标签: python scikit-learn importerror

当我从模块check_array导入函数sklearn.utils.validation时,它获得了导入错误(ImportError: cannot import name check_array)。 标签已完成check_arrays,但我想知道在check_arraysource 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_

2 个答案:

答案 0 :(得分:4)

如果使用jupyter笔记本,请尝试重新启动内核。

答案 1 :(得分:1)

对于那些搜索,正如@eickenberg在评论中提到的,这是在版本之间发生了变化。使用最新版本的scikit-learn解决了这个问题。