看起来你是新来的。登录或注册开始。
我注意到,如果交付给“循环和交付最佳”操作符的性能之一缺失(NAN被交付),那么该操作符将其视为最佳性能并在输出时返回它。下面是一个示例流程:
> <上下文<输入/ ><输出/ ><宏/ >> < /上下文<过程扩展= " true " >< /操作符><列出关键= " additional_values " / >< /操作符><过程扩展= " true " >< /操作符>> < /过程< /操作符>> < /过程< /操作符>> < /过程
最好的
戈
您可以重新粘贴XML或将其导出为RMP文件吗?我无法让它繁衍。
对不起
有一个标签不见了:
<?xml version="1.0" encoding="UTF-8"?><过程version = " 7.4.000 " >> <上下文<输入/ ><输出/ ><宏/ >> < /上下文<过程扩展= " true " >< /操作符><列出关键= " additional_values " / >< /操作符><过程扩展= " true " >< /操作符>> < /过程< /操作符>> < /过程< /操作符>> < /过程
嗯。我不确定这是否是一个“bug bug”,因为您正在引入NaN或缺少输入。也许它应该给你一个警告,因为有一个缺失的值,它可能无法正常工作。如果我没有保持良好的数据质量,预测性能操作符也会发生这种情况。
嗯,
我只是想让你注意一下对"物超所值"的奇怪解释。
顺便问一下,有没有可用的bug追踪器?
嗨戈,
我检查了我们的代码。它是/rapidminer/operator/performance/ performancecriterion。java第102行:
@Overridepublic int compareTo(performancecriteria) {if (!this.getClass().equals(o.getClass())) {抛出新的RuntimeException("不匹配的标准类:" + this.getClass() + ", " + o.getClass()));}if (! . getname ().equals(this.getName())) {抛出新的RuntimeException("不匹配的条件类型:" + this.getName() + ", " + o.getName()));}return Double.compare(this.getFitness(), o.t getfitness ());}
它使用Java方法compare。看看这个,它是:
/ * **比较两个指定的{@code}的值的两倍。这个标志返回的整数值与*将被调用返回的整数:* < >之前* new Double(d1).compareTo(new Double(d2))* < / >之前**@paramD1第一个{@code进行比较*@paramD2第二{@code进行比较*@return值{@code0} if {@coded1}是*数值上等于{@coded2};小于的值* {@code0} if {@codeD1}在数值上小于* {@coded2};大于{的值@code0}* if {@codeD1}在数值上大于* {@coded2}。*@since1.4* /Public static int compare(双精度d1,双精度d2) {If (d1 < d2)返回1;//两个val都不是NaN, thisVal更小如果(d1 > d2)返回1;//两个val都不是NaN, thisVal更大//不能使用doubleToRawLongBits,因为可能存在nan。long thisBits = Double.doubleToLongBits(d1);long anotherBits = Double.doubleToLongBits(d2);return (thisBits == anotherBits ?)0: //值相等thisBits < anotherBits ?-1: // (-0.0, 0.0) or (!南南)1));//(0.0, -0.0)或(NaN, !NaN)}
这就解释了这种行为。在我们自己的方法中处理nan可能是有意义的。你想要什么?NaN总是比其他任何表现都“差”?
~马丁
答案
您可以重新粘贴XML或将其导出为RMP文件吗?我无法让它繁衍。
对不起
有一个标签不见了:
嗯。我不确定这是否是一个“bug bug”,因为您正在引入NaN或缺少输入。也许它应该给你一个警告,因为有一个缺失的值,它可能无法正常工作。如果我没有保持良好的数据质量,预测性能操作符也会发生这种情况。
嗯,
我只是想让你注意一下对"物超所值"的奇怪解释。
顺便问一下,有没有可用的bug追踪器?
嗨戈,
我检查了我们的代码。它是/rapidminer/operator/performance/ performancecriterion。java第102行:
它使用Java方法compare。看看这个,它是:
这就解释了这种行为。在我们自己的方法中处理nan可能是有意义的。你想要什么?NaN总是比其他任何表现都“差”?
~马丁
德国多特蒙德