如何实现基于决策树的C#代码/逻辑?

发布于 2024-11-15 11:22:20 字数 405 浏览 3 评论 0原文

我有一个很大的决策树,里面有很多是/否问题。

我需要用 C# 实现一些代码,然后遍历这棵树并获得唯一的 id 作为返回。

if-> 1=true, A=true, C=true -> return 111;

if -> 1=true, A=true, C=false -> return 110;

如果没有if else,我如何实现这样的逻辑? 我的决策树要大得多,因为这个样本和 if/else 不是很好的解决方案。 我想用两种方法来做。第一种方法获取QuestionID,第二种方法将根据问题获取答案的唯一ID。请帮助我一些代码想法..

决策树: 在此处输入图像描述

i have big decision tree with many Yes/No questions.

i need implement some code with c# and go trough this tree and get unique id as return.

if-> 1=true, A=true, C=true -> return 111;

if -> 1=true, A=true, C=false -> return 110;

how can i implement such a logic without if else?
my decision tree is much, much bigger as this sample and if/else are not good solution.
i think to do it in 2 methods. first Get QuestionID, and second method will get Unique ID of answer based on questions. please help me with some code ideas..

decision tree:
enter image description here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

负佳期 2024-11-22 11:22:20

如果这棵树是固定的,您可以在决策表(有点像真值表)中设置所有替代方案并将其保存在字典中,然后使用该字典返回相应的结果。

Dictionary["1,A"]=OutCome_1;
Dictionary["1,A,C,true"]=OutCome_2;
Dictionary["1,A,C,false"]=OutCome_3;

ETC

if this tree is fixed you can set all alternatives in a decision table(somewhat like truth table) and save it in a dictionary then use this dictionary to return the corresponding outcome.

Dictionary["1,A"]=OutCome_1;
Dictionary["1,A,C,true"]=OutCome_2;
Dictionary["1,A,C,false"]=OutCome_3;

etc

许久 2024-11-22 11:22:20

您必须定义一个决策矩阵。您的代码将如下所示:
判别式 = Decision_matrix( 1, A, B, C, 2 )
开关(判别式)
{
案例结果_1:...
休息;

案例结果_2:...
休息;

默认:
扔 ...
休息;
}

You have to define a decision matrix. Your code will then look like:
discriminant = decision_matrix( 1, A, B, C, 2 )
switch (discriminant )
{
case outcome_1: ...
break;

case outcome_2: ...
break;

default:
throw ...
break;
}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文