特定のアンケートへの回答に基づくソリューションファインダアルゴリズム

algorithm data-modeling modeling
特定のアンケートへの回答に基づくソリューションファインダアルゴリズム

次のシナリオを検討してください。

  1. 潜在的な顧客は、彼らができるアンケートを提示されます
    すべての質問に対して、1つまたは複数の回答を選択しないでください。

  2. 自動化されたアルゴリズムは、に基づいて最適なソリューションを推奨する必要があります
    顧客の答え。

例:

  1. 3つの可能なソリューションS1、S2、S3があります

  2. アンケートには10​​の質問Q1、Q2…Q10が含まれています

  3. 各質問には、次のようなさまざまな回答が含まれています。

    • A1.1は質問1の最初の回答です。

    • A3.2は質問3の2番目の回答です。

  4. に基づいて次のソリューションをモデル化できるようにしたい
    お客様から提供された回答:

    • A1.1、A1.3、A2.1、A3.2 ⇒ S1

    • A1.1、A1.3、A2.2 ⇒ S1

    • A1.2 ⇒ S2

    • A2.2 ⇒ S2

    • A1.1、A3.1、A3.2 ⇒ S2

    • その他の組み合わせ⇒ S3

要約すれば:

  • 与えられた答えのセットに対して、解決策が推奨されなければなりません。

  • より少ない数の回答で定義されたソリューションが優先されるべきです
    より多くの回答で定義されたものよりも。

私は、最初から独自に作成しようとする代わりに、上記の問題に対する既存のアルゴリズム(およびデータモデル)を探しています。

  3  0


ベストアンサー

動作する可能性のある最も簡単な試みは、最近傍アルゴリズムです。既知のソリューションを使用して、新しい回答のセットとすべての回答のセットの類似度を計算します(必要に応じて、回答の総数による重み付け)。同様に近い回答のセットから最も頻繁に選択される既知のソリューションを提供します。

それがうまく機能しない場合は、何らかの洗練された分類器が必要です。 http://en.wikipedia.org/wiki/Decision_tree_learning [決定木](およびその拡張機能、決定木とランダムフォレストの交互)およびhttp://en.wikipedia.org/wiki/Naive_Bayes_classifier [ベイズ分類器]を検索する必要があります。 ]、とりわけ。

これらのいくつかのコードは、機械学習またはニューラルネットワークのツールボックスで見つけることができます。 あなたが言語を指定しなかったので、私はそれを指すことはできませんが、アルゴリズム(コードではない)は、Hastie、Tibshirani、FriedmanによるThe Statistics of Statistics Learningのようなさまざまな本で説明されています。

1


私にとっては、宣言的なhttp://en.wikipedia.org/wiki/Logic_programming[logical program]よりも、組み合わせまたは統計的な問題のようです。 与えられた答えから選択する解決策についてのステートメントを逆にし、「⇒」を「:-」に置き換えると、Prologが得られます。 これらのステートメントはHorner句であり、ルールが単純であれば、http://en.wikipedia.org/wiki/SLD_resolution#Example [SLD resolution]アルゴリズムを使用して解決できます。 さまざまな言語にバインドされている多くのシェルフソルバーがあるため、それらのいくつかを選択できます。

0


タイトルとURLをコピーしました