Architecture 决策树建模

Architecture 决策树建模,architecture,survey,mda,Architecture,Survey,Mda,我正在构建一个模型,允许业务用户在运行时构建决策树 在具体实施过程中,将在调查中对给定问题做出决定,以决定是否显示该问题 讨论的一个例子是: 问题1:请说明您的性别。 (地下) 问题2:请说明您的年龄。 (0-120) 问题3:你曾经怀孕过吗? (只有当Q1的答案=F和Q2>9的答案时,才应显示此问题) Q4:你做过乳房X光检查吗? (只有当(Q1的答案=F和Q2>40的答案)或Q3的答案=是时,才应显示此问题 到目前为止,我的模型将看到每个问题都附带以下结构: 示例数据: 上述结构中的

我正在构建一个模型,允许业务用户在运行时构建决策树

在具体实施过程中,将在调查中对给定问题做出决定,以决定是否显示该问题

讨论的一个例子是:

  • 问题1:请说明您的性别。
    (地下)
  • 问题2:请说明您的年龄。
    (0-120)
  • 问题3:你曾经怀孕过吗?
    (只有当Q1的答案=F和Q2>9的答案时,才应显示此问题)
  • Q4:你做过乳房X光检查吗?
    (只有当(Q1的答案=F和Q2>40的答案)或Q3的答案=是时,才应显示此问题
到目前为止,我的模型将看到每个问题都附带以下结构:

示例数据:

上述结构中的数据应允许某人浏览数据并重新创建上述问题中所示的条件,然后允许他们显示问题,或者不基于前面问题的提问者

到目前为止,我感觉有点混乱,我想知道他们是否是一个既定的模式,任何人都可以想到这将实现这一点。任何其他反馈也将是有用的

我希望我的问题有意义

更新(2017年3月28日):
@阿维图斯:我不同意你的想法(如果我错了,请纠正我)。评估一次只比较两个标准,但TargetValid允许你将问题与前一组进行比较。例如,在我给出的示例中,我正在比较((Q1和Q2)或Q3).为了达到你所说的,我可以做嵌套的问题。如果我想做A和B,C,我会做(A和B)和C

这有意义吗

更新(2017年3月29日)
我对模型做了一个更改,允许将组与其他组进行比较。
即(A和B)或(C和D)


除非您只允许业务用户选择最多两个标准,否则您所缺少的最大一点就是事物的逻辑分组

例如,您允许(A)或(B),(A)和(B)

但你必须考虑(A)或(B)和(C)

这意味着您需要一个额外的参数来放置第三组或第四组,以便用户可以执行以下操作:((A)或(B))和(C) 或者如果他们想做:(A)或(B)和(C))


您很可能需要构建一个递归函数来解释如何构建它。

您是否考虑过使用决策树或随机林包,使用诸如R之类的工具?我认为基于您的数据构建决策树是相当简单的。@TimBiegeleisen该项目是用Java实现的,这些人希望永远如果可能的话,一切都是本地的。我必须提出一个相当有说服力的理由来增加复杂性,以便在已经相当全面的堆栈中引入另一种语言。不过,这可能是一个很好的回退选项。谢谢。