我有一个按以下方式定义的决策树节点类:
class dt_node
{
public:
dt_node* child[2]; //two child nodes
int feature;
double value; // feature and value this node splits on
bool leaf;
double pred; // what this node predicts if leaf node
}
有没有办法可以将其写入文件并在需要时从文件重建树?
你可以随心所欲地做...
真正的答案是:这完全取决于您。如果我是你,必须将这种对象保存在 .txt 文件中,我会想出一些方法来保存这种结构,例如 0*0*0.0*0*0.0
.其中第一个0
代表子节点个数,第二个0
代表feature
值等,而*
字符是值之间的分隔符。空格可以更好地工作,但我只是不喜欢它们在我的文件中作为分隔符......文本文件将在每个分隔的对象之间有一些其他字符(例如,|
)。示例看起来像 3*22*31.11*1*1.0|2*2*1.0*0*33.3
。
显然我可能误解了您的问题。如果您问是否有一种方法可以保存此特定代码并通过在没有 dt_node
类的程序中打开文件来执行它,不幸的是,我觉得我的知识不足以回答。
希望对您有所帮助。