我有很多决策树,有许多是/否问题。
我需要用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。请帮我一些代码的想法..
决策树:
答案 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;
等