Algorithm SystemML决策树-“;节点1.0处的样本数量不能减少到匹配10“;

Algorithm SystemML决策树-“;节点1.0处的样本数量不能减少到匹配10“;,algorithm,apache-spark,machine-learning,decision-tree,systemml,Algorithm,Apache Spark,Machine Learning,Decision Tree,Systemml,我试图在Windows()上的SystemML独立版本上运行决策树,但我一直收到错误“节点1.0处的样本数无法减少到匹配10。此节点被定义为叶!”。代码似乎没有计算任何拆分,尽管我可以通过R执行tree。以前有人使用过这个算法吗?有没有关于如何解决错误的提示? 谢谢此消息通常表示,按最佳分类或缩放功能进行拆分不会带来任何额外收益 我建议你 调查计算的增益(最佳猫增益、最佳刻度增益) 再次检查元数据(num_cat_功能, 正确识别数字(缩放特征) 您只需在脚本中添加额外的print语句即可。如果

我试图在Windows()上的SystemML独立版本上运行决策树,但我一直收到错误“节点1.0处的样本数无法减少到匹配10。此节点被定义为叶!”。代码似乎没有计算任何拆分,尽管我可以通过R执行tree。以前有人使用过这个算法吗?有没有关于如何解决错误的提示?
谢谢

此消息通常表示,按最佳分类或缩放功能进行拆分不会带来任何额外收益

我建议你

  • 调查计算的增益(最佳猫增益、最佳刻度增益)

  • 再次检查元数据(num_cat_功能, 正确识别数字(缩放特征)

  • 您只需在脚本中添加额外的print语句即可。如果元数据无效,您可能需要检查可选输入R是否具有脚本标题中所述的正确布局


    如果这没有帮助,请共享输入参数、输入数据格式等,我们会仔细查看。

    非常感谢您的回复。我的数据有一个二进制目标(0/1)和10个变量,都是数字。我已经创建了2.mtx文件。一个名为Y(n*2)的函数只包含以下格式的目标:如果行1具有目标0,则Y作为第一列(0,1),如果行具有目标1,则行2具有值(1,0)。另一个.mtx文件有10个变量,因此它是一个矩阵(n*10)。我还创建了两个元数据,它们的格式为“{”数据类型“:“矩阵”,“值类型”:“双”,“行”:150000,“cols”:2,“nnz”:150001,“格式”:“csv”,“头”:false,“sep”:“,”描述“{”作者“:”SystemML“}}”我运行的命令如下:runStandaloneSystemML.bat scripts/algorithms/decision-tree.dml-nvargs X=C:/Users/Documents/data/X.mtx Y=C:/Users/Documents/data/Y.mtx M=C:/Users/Documents/data/model.csvThanks用于共享输入特征。这可能是输入格式不匹配。请尝试通过SystemML创建重新编码/伪编码的Y,以确保数据和元数据之间的一致性。您说您创建了一个mtx文件(此扩展名通常用于矩阵市场格式,即ijv格式的文本),但json元数据显示“csv”(而不是“文本”)。此外,非零(nnz)的数量应该是150000而不是150001。给定0/1标签向量Y_orig,可以按如下方式创建Y:
    Y=table(seq(1,nrow(Y_orig)),Y_orig+1);写入(Y,“测试/数据树/Y”)嗨-成功了!我认为你的建议是正确的-我检查了元数据并调整了nnz值。最后我还使用了.csv而不是.mtx。非常感谢你。我正在尝试其他的算法,所以如果我有进一步的问题,我可能会联系他们。再次感谢!