c++决策树存储
C++ decision tree storage
我有一个决策树。我给这个决策树一些输入值。然后决策树返回一个值。
输入值可以是"子女数"、"年龄"等。然后,决策树可以返回(例如)一个特定的值,该值表示该家庭拥有多少辆汽车或诸如此类的东西。
这个决策树(如果转换成if-then语句)看起来像这样:
int i=0;
if (ownedHouses==0)
{
if (numberOfChildren==4)
{
if (ageFather==39)
{
if (incomeFamily==40000)
{
if (carsAlreadyCrashed==1)
{
i=3;
}
else
{
if (carsAlreadyCrashed==2)
{
if (insurancePaysForCrashes==1)
{
i=5;
}
}
else
{
i=4;
}
}
else
{
i=11;
}
}
}
else
{
i=2;
}
}
else
{
i=9;
}
}
else
{
i=22;
}
else
{
i=8;
}
这只是一个例子。实际上,由此产生的if-then语句绝对是巨大的。虽然我可以解析数据并从中创建这样一个if-then循环,但我不能在我的软件中使用这么大的if-then循环。
因此,我正在寻找一种不同的方法将决策树集成到我的软件中。
我已经看到了在运行时解析决策树数据(以任何形式提供…)的方法,然后从它创建具有根,节点和叶子的类。
对于我来说,这还不够快。
还有人有其他的想法吗?
谢谢你的帮助。
编辑:我已经把一些值改成了现实生活中的值,使意思更清楚。
我知道最快的实现是在ALGLIB中实现的。决策树存储为双精度数组。
- 叶节点-两个值{-1,data}。
- 非叶节点-三个值{input_value_index, threshold, right_branch_offset}.
您可以在dforest.dfprocessinternal
相关文章:
- 查找存储在二叉搜索树的所有非叶子中的数据总和?(返回整数的独立递归函数
- 将值存储在带有C++的二叉搜索树中
- 张量(多维数组)是树前瞻数据的有效存储类型吗?
- 如何在C++的四叉树中存储 bmp 文件?
- 通用B树,用于存储自定义对象/数据类型
- 写入并加载决策树以归档C
- 将字符存储在C 树中
- 解析大型文本文件并使用C++将其存储在树(二进制或 AVL)中
- 如何在c++中的结构指针变量树(对于完整树)中存储值
- 导出决策树
- 如何在C/C++中使用在R中训练的模型(决策树)
- 提升 :持久存储 R 树
- OpenCV 决策树参数问题
- 在C++中为 AI 制作决策树
- c++决策树存储
- 有限状态机与ID3决策树
- 决策树/树桩与Adaboost
- 正在CUDA上生成决策树
- c++中存储XML树的最有效的数据结构
- c++决策树实现问题:用代码思考