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

Posted

技术标签:

【中文标题】如何基于决策树实现 c# 代码/逻辑?【英文标题】:how to implement c# code/logic based on decision tree? 【发布时间】:2011-09-14 13:43:58 【问题描述】:

我有很多是/否问题的大决策树。

我需要用 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。请帮助我一些代码想法..

决策树:

【问题讨论】:

可能重复? ***.com/questions/3889301/… 不,背后有一些不同的想法。我在这里找不到我的问题的一些合理解决方案。我就是这么问的。 为什么决策 2 在您的图表中有 3 个结果 (4,5,6)? 【参考方案1】:

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

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

【讨论】:

【参考方案2】:

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

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

默认值: 扔 ... 休息;

【讨论】:

以上是关于如何基于决策树实现 c# 代码/逻辑?的主要内容,如果未能解决你的问题,请参考以下文章

基于Python实现的决策树模型

无法使用 Accord.Net 框架实现基本决策树

day-8 python自带库实现ID3决策树算法

Matlab基于决策树算法实现多分类预测(源码可直接替换数据)

Matlab基于决策树算法实现多分类预测(源码可直接替换数据)

用于实现决策树的语言