2015-01-21 7 views
1

의사 결정 트리를 만든 다음 파이썬으로 잘라 내기를 원했습니다. 그러나 sklearn은 자체적으로 가지 치기를 지원하지 않습니다. 인터넷 검색에서 다음을 발견했습니다. https://github.com/sgenoud/scikit-learn/blob/4a75a4aaebd45e864e28cfca897121d1199e41d9/sklearn/tree/tree.py파이썬에서 의사 결정 트리 제거하기

그러나 파일을 사용하는 방법을 모르겠습니다. 나는 시도했다 :

from sklearn.datasets import load_iris 
import tree 

clf = tree.DecisionTreeClassifier() 
iris = load_iris() 

clf = clf.fit(iris.data, iris.target) 

나는 오류가 발생한다. ValueError : 비 패키지에서 상대적 가져 오기를 시도했다. 가져 오는 방법이 아닙니까? 파일을 다른 방식으로 저장해야합니까? 고맙습니다.

+1

어떤 sklearn 브랜치를 사용하나요? 원래 하나? sgenoud가 갈래? 포크에서 tree-python 파일을 작업 영역으로 다운로드 했습니까? 이 정보가 없으면 수입이 어디로 잘못되었는지 말할 수 없습니다. – cleros

+0

sgenoud가 갈린 것. 나는 tree.py 만 다운로드했다. 나는 당신이 작업 공간에서 무엇을 의미하는지 모른다. 나는 (위에서 설명한) 아이리스 파일을 가지고 tree.py는 C : \ Users \ Beck \ Anaconda \ machine_learning 같은 폴더에 저장했다. – eternalmothra

답변

0

파이썬에서 Modules (= 다른 언어의 패키지)은 종종 상호 의존적 인 루틴을 정의합니다. 이러한 경우 하나의 .py 파일을 다운로드하여 작업 영역 (즉, 소스가있는 디렉토리)에 넣을 수는 없습니다. 대신 전체 패키지를 해당 폴더에 다운로드하고 다음과 같이 상대적으로 가져 오십시오.

# a general import, should only be used if you are absolutely certain that there will be no namespace conflicts 
from sklearn.tree.tree import * 
# a more "safe" way is to import the classes/functions you need explicitely 
from sklearn.tree.tree import DecisionTreeClassifier