2017-03-27 10 views
0

ビジネスユーザーが実行時に意思決定ツリーを構築できるようにモデルを構築しています。意思決定ツリーのモデル化

具体的な実装では、質問を表示するかどうかを決定するために、アンケートで特定の質問に適用される決定が表示されます。説明の目的のために

例は次のようになります。

  • Q1:あなたの性別を指定してください。
    (M/F)
  • Q2:年齢を指定してください。
    (0-120)
  • 質問3:妊娠したことがありますか?
    は(この質問にのみ表示されなければならない場合Q1 = F への答えQ2への答え> 9)
  • Q4:あなたが今までにマンモグラムを持っていたことがありますか?
    ((Q1への答えは= F Q2> 40)ORに答えた場合、この質問は唯一Q3への答え示されるべき=はい

私がこれまで見てきたでしょうモデルそれぞれの質問に添付次の構造:

enter image description here

例データ:
enter image description here

上記の狭義のデータは、誰かがデータを実行し、上の質問に示されているように条件を作り直すことができるようにして、質問を表示するか、以前の質問に対する回答者に基づいていないようにする必要があります。

これまでのところ私はちょっと面倒だと感じましたが、誰もがこれを達成することができる確立されたパターンであるかどうかは疑問でした。他のフィードバックも有用であろう。

私の質問が理にかなっていることを願います。

アップデート(2017年3月28日):
@Avitus:私は(私が間違っているなら、私を修正してください)あなたの考えに同意しません。 EValuationは一度に2つの基準のみを比較しますが、TargetEvalIDでは質問を以前のグループと比較できます。 I.私が与えた例で私は比較しています((Q1とQ2)またはQ3)。あなたが言っていることを達成するために、私は入れ子にされた質問をすることができます。もし私がAとBとCをやりたければ、私は(AとB)とCをやります。

それは意味がありますか?

アップデート(2017年3月29日)
私は他のグループと比較するためのグループを可能にするモデルに1つの変更を行いました。
I.E.あなたが唯一のビジネスユーザーが2つの基準まで選択することができますされていない限り、(AとB)OR(CとD)

enter image description here

+0

Rなどのツールを使用して、意思決定ツリーまたはランダムなフォレストパッケージを使用することを検討しましたか。あなたのデータに基づいて意思決定ツリーを構築することは、私が考えるとかなり簡単です。 –

+0

@TimBiegeleisenプロジェクトはJavaで実装されています。皆さんは可能な限りすべてをネイティブに保ちたいと思っています。すでにかなり包括的なスタックに別の言語を導入するためには複雑さを増やす必要があります。しかし、良いフォールバックオプションかもしれません。ありがとう。 – Gineer

答えて

0

は、あなたが不足している最大のものは、物事を論理的にグループ化したものです。

はたとえば、(A)または(B)、(A)と(B)

を可能にしかし、あなたは(A)または(B)と(C)を可能にする必要があります。

これは、ユーザーが(A)または(B)と(C) を実行できるように、3番目または4番目のセットの配置に追加のパラメータが必要であることを意味します。 )または((B)And(C))

これがどのように構築されているかについては、再帰関数を構築する必要があります。

関連する問題