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

时间:2011-06-14 09:54:51

标签: c# logic implementation decision-tree

我有很多决策树,有许多是/否问题。

我需要用c#实现一些代码,然后通过这个树获得唯一的id作为返回。

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

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

如果没有别的话我怎么能实现这样的逻辑呢? 我的决策树比这个样本要大很多,if / else不是很好的解决方案。 我认为用2种方法做到这一点。首先获取QuestionID,第二种方法将根据问题获得答案的唯一ID。请帮我一些代码的想法..

决策树: enter image description here

2 个答案:

答案 0 :(得分:1)

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

案例结果_2:......   打破;

默认:    扔...   打破; }

答案 1 :(得分:1)

如果修复了这个树,你可以在决策表中设置所有备选方案(有点像真值表)并将其保存在字典中,然后使用该字典返回相应的结果。

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