3

私は意思決定ツリーのように見えるものを実装する必要があります(ただし、その用語を検索すると、意思決定プロセスで影響を与える要因を見つけるための投稿が返されます-これは私が求めているものではありません)。

私が構築しているシステムは、いくつかの基準に基づいて製品をインストールするための保証期間を設けています。要件は、可能なベクトルのセット(たとえば、設置ピッチ、プロファイル、場所、材料タイプなど)を作成し、それらのベクトルをユーザーがツリー構造に組み立てる必要があります。

-- Profile == corrugate (warranty = 20 years)
  -- Pitch >= 0 && < 5 (warranty = 2 years)
  -- Pitch >= 5 && < 20 (warranty = 10 years)
-- Environment == coastal && distance <= 500 meters (warranty 2 years)

これは単純なケースですが、理論的には、保証期間を把握するときにこのツリーを歩き、提供された情報を基にツリーが生成する最小値を選択できます。

今のところ、これがデータベース(Railsアプリ)にツリーとして保存されており、ツリーをウォークして決定するためのメソッドを記述しているのを賢明に見ることができますが、この問題に取り組むためのより良い方法があるかどうか知りたいですか?

プロジェクトの後半で、保証アプリケーションが保証チームによるさらなるモデレーションを必要とするかどうかを決定する別の決定木も実装するときに、自分自身を繰り返す必要があります。その場合、各ノードからの結果は真または偽になります。

それがアプリの非常に重要な部分であることを見て、私は最初に構造を正しくしたいと思います:)そしておそらく途中で何か新しいことを学びます:)

4

2 に答える 2

0

1つのツリー(または複数のツリー-決定を下す前に一度に1つのベクトル要素しか比較できないため)は、このデータを非常に直感的に変換すると思います。よりコンパクトな方法があるかもしれませんが、将来誰かがこのコードを見る場合は、treeメソッドがそれを維持するのに役立ちます。

于 2011-03-12T08:49:43.423 に答える
0

これがあなたが探しているものだと思います: Rubyのディシジョンツリー -データのフィードに基づいて同様の例を使用し、プログラムにオプトインするかオプトアウトするかを決定します。したがって、あなたの例に基づいて、特定の基準を使用して、保証を使用できるかどうかを決定します。'decisiontree'と呼ばれる宝石を使用しています

お役に立てば幸いです。

于 2011-02-01T19:42:34.853 に答える