2014-09-03 7 views
2

ID3 모델의 결과를 플로팅하고 싶습니다. WEKA 나 R에 기본 플롯 모듈이없는 것 같습니다.R에 그려지는 데 결정 트리 (WEKA 분류 자에서 파싱)를 파싱 하시겠습니까?

이미 작성한 코드가 있습니까? (또는, 아래의 트리 형식으로 내가 쉽게 파서를 찾을 수있는 표준 이름을 가지고합니까?) 여기

몇 가지 기본적인 코드 : 결과 여기

# I'm getting a post from this: https://en.wikipedia.org/wiki/ID3_algorithm 


## load RWeka 
if(!require(RWeka)) install.packages("RWeka") 
library(RWeka) 
## look for a package providing id3 
WPM("refresh-cache") 
WPM("list-packages", "available") ## look for id3 
## install package providing id3 
WPM("install-package", "simpleEducationalLearningSchemes") 
## load the package 
WPM("load-package", "simpleEducationalLearningSchemes") 
## make classifier 
ID3 <- make_Weka_classifier("weka/classifiers/trees/Id3") 
## test it out. 

DF2 <- read.arff(system.file("arff", "contact-lenses.arff", 
          package = "RWeka")) 
ID3(`contact-lenses` ~ ., data = DF2) 

된다

Id3 


tear-prod-rate = reduced: none 
tear-prod-rate = normal 
| astigmatism = no 
| | age = young: soft 
| | age = pre-presbyopic: soft 
| | age = presbyopic 
| | | spectacle-prescrip = myope: none 
| | | spectacle-prescrip = hypermetrope: soft 
| astigmatism = yes 
| | spectacle-prescrip = myope: hard 
| | spectacle-prescrip = hypermetrope 
| | | age = young: hard 
| | | age = pre-presbyopic: none 
| | | age = presbyopic: none 

나무 구조는 매우 이해하기 쉽습니다. 이 구문 분석 방법에 대한 제안 사항은 무엇입니까? (아마도 대답은 from here과 비슷합니까?)

고마워요.

+1

문제는 다른 분류 프로그램이'.jcall (obj $ classifier, "S", "") 메서드를 통해 호출되는'graph' 메서드를 갖고있는 것으로 보입니다. 그래프 ")'그러나 이것은 Id3 분류자를 전제로하지 않습니다. 'Id3'는'.jcall (x $ classifier, "S", "toString")'에 응답합니다. 이것은 여러분이 보는 트리의 텍스트 버전을 인쇄하는 데 사용됩니다. 이 정보를 R과 공유하지 않는 것 같습니다. 그것은 내가 말할 수있는 한 모든 자바 세계에 잠겨 있습니다. (그러나 나는 결코 Weka 전문가가 아니다). – MrFlick

+0

안녕하세요 @ MrFlick - 감사합니다, 이것도 제가 알아 차린 것입니다. 텍스트 자체를 캡처하는 데 문제가 없습니다. 그러나 텍스트를 파싱하려면 더 많은 작업이 필요합니다 (이 작업을 위해 관련 구문 분석 언어에 의존하기를 바랍니다) –

답변

0

나무를 시각화하는 옵션은 Weka에서 잠시 사용할 수 있습니다. 어쩌면 이전 버전을 사용하고 있습니까? Weka 3.6 및 3.7은 J48과 함께 제공됩니다. Visualizing Weka classification tree