Comment implémenter l'arbre de décision avec c # (visual studio 2008) - Aide
J'ai un arbre de décision, j'ai besoin d'un code en C#
La manière la plus simple de le faire est d'utiliser if-else, mais dans cette solution, j'ai besoin de créer 4-5 imbriquée conditions.
Je suis à la recherche d'une meilleure façon de le faire et jusqu'à présent, j'ai lu un peu sur les moteurs de règles.
Avez-vous quelque chose à proposer pour un moyen efficace de développer arbre de décision avec 4-5 imbriquée conditions?
source d'informationauteur Chen
Vous devez vous connecter pour publier un commentaire.
J'ai mis en place un simple arbre de décision comme un exemple dans mon livre. Le code est disponible en ligne icialors peut-être que vous pouvez l'utiliser comme une source d'inspiration. Une décision est essentiellement représentée comme une classe qui a des références à
true
branche etfalse
branche et contient une fonction qui fait le test:Ici,
Decision
est une classe de base qui contientEvaluate
méthode et la source contient un type dérivé qui contient une décision finale de l'arbre (oui/non). Le typeClient
est un exemple de données d'entrée que vous êtes l'analyse à l'aide de l'arbre.Pour créer un arbre de décision, vous pouvez écrire quelque chose comme:
Si vous voulez juste écrire cinq imbriquée statique
if
clauses puis peut-être juste écrireif
est très bien. L'avantage d'utiliser un type comme celui-ci est que vous pouvez facilement composer des arbres - par exemple, la réutilisation d'une partie d'un arbre ou de modulariser la construction.Ci-dessous est la Tomas Petricek du code mentionné dans la réponse https://stackoverflow.com/a/3889544/5288052 .
Le zip contenant tout le code source du livre "le Monde Réel de la Programmation Fonctionnelle" est disponible ici https://www.manning.com/books/real-world-functional-programming .
Juste parce que...
J'ai eu un aller à ce sujet et les résultats sont là ...
https://github.com/jkennerley/DeeTree
J'ai dû mettre en place un arbre de décision à l'aide de l'algorithme ID3 lors de mon master en C#.
J'ai écrit au sujet de ma mise en œuvre ici. Le code peut être téléchargé à partir de GitHub.