2017-03-27 6 views
0

비즈니스 사용자가 런타임에 의사 결정 트리를 작성할 수 있도록 모델을 구축 중입니다.의사 결정 트리 모델링

구체적인 구현 방법은 질문을 표시할지 여부를 결정하기 위해 설문 조사에서 주어진 질문에 적용되는 결정을 보게됩니다. 토론 목적을 위해

예제는 다음과 같습니다

  • Q1 : 성별을 지정하십시오.
    (M/F)
  • Q2 : 나이를 지정하십시오.
    (0-120)
  • Q3 : 임신 한 적이 있습니까?
    (Q1에 대한 대답 = F 의 경우 Q2> 9에 대한 답)
  • Q4 : 유방 X 선 사진 촬영 경험이 있습니까? > 40) 또는 Q3에 대한 답 = 예

지금까지이 모델은 볼 것이다
(이 질문은 = F 에게 Q2에 대한 답을 Q1에있는 경우 (답을 표시한다 각 질문에 부착하기 구조 :

enter image description here

데이터

예 :
enter image description here

,

위의 협조에있는 데이터를 통해 누군가가 데이터를 실행하고 위 질문에 표시된 조건을 다시 작성하여 이전 질문에 대한 답변을 기반으로하지 않거나 질문을 표시하도록 허용해야합니다.

나는 지금까지 조금 어지럽다 고 느낀다. 그리고 누구나 생각할 수있는 확립 된 패턴인지 궁금해했다. 다른 피드백도 유용합니다.

제 질문에 도움이 되었기를 바랍니다.

업데이트 (2017년 3월 28일) :
@Avitus : 나는 (내가 틀렸다면 수정하십시오) 당신의 생각에 동의하지 않는다. EValuation은 한 번에 두 가지 기준 만 비교하지만 TargetEvalID를 사용하면 질문을 이전 그룹과 비교할 수 있습니다. I.E. 내가 준 예제에서 ((Q1과 Q2) 또는 Q3)를 비교하고있다. 당신이 말하는 것을 성취하기 위해서 나는 중첩 된 질문을 할 수 있습니다. A와 B, C를하고 싶으면 (A와 B)와 C를 할 것입니다.

의미가 있습니까? 내가 그룹을 허용하는 모델에 하나 변경 한

업데이트 (2017 3월 29일)이 다른 그룹에 비해합니다.
I.E. (A와 B) 또는 (C와 D는)

enter image description here

+0

R과 같은 도구를 사용하여 의사 결정 트리 또는 임의의 포리스트 패키지를 사용 해본 적이 있습니까? 데이터를 기반으로 한 의사 결정 트리를 작성하는 것은 상당히 간단합니다. –

+0

@TimBiegeleisen이 프로젝트는 자바로 구현되었으며 사람들은 가능한 모든 곳에서 원시를 유지하고자합니다. 이미 상당히 포괄적 인 스택에 다른 언어를 도입하기 위해 복잡성을 증가시키기 위해서는 상당한 노력이 필요할 것입니다. 좋은 대체 옵션이 될 수도 있습니다. 감사. – Gineer

답변

0

당신이 놓치고있는 가장 큰 것은 당신은 비즈니스 사용자가이 개 기준을 선택할 수 있도록하지 않는 것들의 논리적 그룹입니다.

는 예를 들어, (A) 또는 (B), (A)와 (B)

를 허용하지만 당신은 (A) 또는 (B)와 (C)를 허용해야합니다.

사용자가 다음을 수행 할 수 있도록 세 번째 또는 네 번째 세트의 배치에 대한 추가 매개 변수가 필요함을 의미합니다. ((A) 또는 (B)) (C) 또는 원하는 경우) 또는 ((B) And (C))

어떻게 구성되어 있는지 재귀 함수를 구축해야 할 가능성이 큽니다.