2014-11-27 2 views
9

함수를 모듈 sklearn.utils.validation에서 가져 오면 가져 오기 오류 (ImportError: cannot import name check_array)가 나타납니다. 탭 완성은 check_arrays을 얻었지만, 이라는 함수가 validation.py (source code on Github)에만 존재한다는 것이 궁금합니다. 게다가 scikit-learn/sklearn/cluster/spectral.py에 구현 된 스펙트럼 클러스터링 알고리즘은 check_arrays이 아니라 from ..utils.validation import check_array을 사용했습니다. 나는 이것에 대해 매우 혼란스럽고, scikit-learn 버전은 '0.15.0b1'입니다. 누군가가 내게 단서를 주길 바래. @eickenberg이 코멘트에 언급 한 바와 같이 그 검색ImportError : sklearn.utils.validation에서 이름 check_array를 가져올 수 없습니다.

샘플 코드
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_ 
+1

오류 코드를 재현하는 짧은 샘플 코드입니다. –

+0

@ AndréLaszlo 샘플 코드 – AnnabellChan

+3

을 추가했습니다. 최근에 변경되었습니다. 아마도 버전 문제 일 것입니다. 최신 버전을 사용하고 있는지, 이전 버전의 파일이 남아 있지 않은지 확인하십시오. – eickenberg

답변

1

는이 버전간에 변경되었습니다 것이었다. scikit-learn의 최신 버전을 사용하여 문제가 해결되었습니다.

관련 문제