2016-07-27 10 views
0

나는 최근 주사위를 사용하여 Scipy, NumPy와 및 Scikit 배우기를 설치하지만, 한에 대한 이름 '나무'를 가져올 수 없습니다 나는ImportError를 : sklearn

from sklearn import tree 

features = [[140, 1], [130, 1], [150, 1], [170, 1]] #input 
labels = [0, 0, 1, 1] #output 

clf = tree.DecisionTreeClassifier() 
clf = clf.fit(features, labels) #fit = find patterns in data 

print (clf.predict([[160, 0]])) 

아래이 오류를 쉘 인쇄 프로그램을 실행할 때

Traceback (most recent call last): 
    File "C:/Machine Learning/sklearn.py", line 1, in <module> 
    from sklearn import tree 
    File "C:/Machine Learning\sklearn.py", line 1, in <module> 
    from sklearn import tree 
ImportError: cannot import name 'tree' 

누구든지 해결 방법을 알고 있습니까? 설치 제거 및 재설치를 시도했지만 동일한 오류가 발생합니다. 미리 많은 감사드립니다!

+1

파일 'sklearn.py'를 (를) 호출했습니다. 그만해. – user2357112

+0

이름을 변경했는데 동일한 오류가 발생했습니다 :/ – AlphaBetaGamma96

+0

파일에서 컴파일되었을 수있는'sklearn.pyc' 파일을 삭제하고 파이썬을 재시작 한 후 다시 시도하십시오. – user2357112

답변

1

해결책은 "기계 학습"폴더 아래에있는 "sklearn.py"의 이름을 "sklearn.py"가 아닌 다른 이름으로 변경하는 것입니다.

왜? 이것이 파이썬 모듈이 시퀀스를 검색하는 메커니즘입니다. 당신의 "sklearn.py"이러한 라인을 앞에 추가하십시오 :

import sys 
print(sys.path) 

당신은 출력 목록의 첫 번째 요소를 찾을 수 있습니다 항상 현재 디렉토리 검색 모듈에 대한 우선 순위가 가장 높은 것을 의미 빈 문자열입니다. "C : \ Machine Learning"폴더에서 from sklearn import tree을 실행하면 컴퓨터 학습 모듈을 전역으로 가져 오는 대신 "sklearn.py"로컬 "sklearn.py"모듈을 가져옵니다.

+0

이름을 변경하고 모든 사이트 패키지가있는 디렉토리에 다른 이름으로 저장했습니다. 하지만 같은 오류가 발생합니다. 저는 sklearn을 처음 사용하고 있으며 약 한 달 전에 비단뱀을 배우기 시작했습니다. – AlphaBetaGamma96

+0

OK. 작업 공간 안에'* .pyc' 파일 (py2) 또는'__pycache__' 폴더 (py3)가 있는지 확인하고 삭제할 수 있습니까? 또한 새로운'.py' 파일을 작성하고'import sklearn'을 시도한 다음'print (sklearn)'을 시도하고 결과를 여기에 게시 할 수 있습니까? –