gpt4 book ai didi

c# - 节点上的 Accord 决策树空输出

转载 作者:太空宇宙 更新时间:2023-11-03 15:05:58 26 4
gpt4 key购买 nike

我在我的项目中使用 .net 框架,但遇到了问题。

我正在使用 7 个决策变量来创建决策树。其中 5 个是连续的,其中 2 个是离散的,我正在使用 C45Learning。

我创建决策变量的方式:

连续的

new DecisionVariable(SupportedValueType.ToString(), DecisionVariableKind.Continuous)

离散的(在我的例子中,我创建了代表月份日期的离散变量)

int PossibleValues = 30; 
new DecisionVariable(SupportedValueType.ToString(), PossibleValues)

现在当我创建一棵树时,它的叶节点是具有离散决策变量的节点并且该节点上的输出为 NULL,所以当我运行时

tree.Decide(sample)

它结束于这个叶节点,它返回 NULL。

谁能告诉我问题出在哪里?


当我创建一个输入来创建这个决策树时,我并没有“使用”这 30 个可能值中的每一个,只使用了其中的 2-3 个。会不会是问题所在?

例如:(x变量是其他决策变量的值,当然我提供了更多的输入数据,不只是3行,但我只改变了x值,只用了这3天)

input:     label:

x,x,x,x,x,1 -> Small
x,x,x,x,x,2 -> Medium
x,x,x,x,x,3 -> Big

最佳答案

是的,我猜你的树根本不完整。

使用该算法时,如果我不为其提供包含输入列的所有可能组合的综合训练集,那么我获得空叶的机会就会高得多。然而,该算法以其修剪过程的副产品无论如何都有空路径而闻名。

检查其他示例是否也返回 null。如果他们都这样做,那么您可能会遇到问题。如果只有一对返回 NULL/unknown,那么这可能只是树自身构建方式的结果。在这种情况下,您将需要使用默认决策值来处理它。

我了解到您可以为算法提供默认值以供其自行应用,但我从未使用过这些值。

关于c# - 节点上的 Accord 决策树空输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43547371/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com