MinMaxNormalization和精度测量的NaN问题

用户名用户名 成员职位:39大师
2018年11月编辑 帮助
你好,

我注意到MinMaxNormalization和weightedmulticlasperformance类中的两个bug。

MinMaxNormalization:
如果一个属性始终具有相同的值,则将它们规范化为NaN。这种规范化行为真的是有意的吗?这可能会导致学习运算符产生奇怪的结果,因为其中一些运算符不能很好地处理未知值(LibSVM)。以下是我的建议:
Eclipse工作区补丁1.0
# P耶鲁
指数:src / com/rapidminer/operator/preprocessing/normalization/MinMaxNormalizationModel.java
===================================================================
RCS文件:/cvsroot/yale/yale/src/com/rapidminer/operator/preprocessing/normalization/MinMaxNormalizationModel.java,v
检索版本1.11
diff -u -r1.11 MinMaxNormalizationModel.java
——src/com/rapidminer/operator/preprocessing/normalization/MinMaxNormalizationModel.java 14 Jan 2009 13:45:34 -0000 1.11
+++ src/com/rapidminer/operator/preprocessing/normalization/MinMaxNormalizationModel.java 12 Mar 2009 10:56:13 -0000

double value = example.getValue(attribute);
double minA = range.getFirst().doubleValue();
double maxA = range.getSecond().doubleValue();
——的例子。setValue(attribute, (value - minA) / (maxA - minA) * (max - min) + min);
+ if (max == max || min == max) {
+例子。setValue(属性,Math.min(数学。max(minA, min), max));
+} else {
+例子。setValue(attribute, (value - minA) / (maxA - minA) * (max - min) + min);
+}
}
}
}

WeightedMultiClassPerformance:
如果存在一个模型无法预测的类,则平均精度为NaN。原因是这个类的精度是NaN。这是另一个可能的解决方案:
Eclipse工作区补丁1.0
# P耶鲁
指数:src / com/rapidminer/operator/performance/WeightedMultiClassPerformance.java
===================================================================
RCS文件:/cvsroot/yale/yale/src/ com/rapidminer/operator/performance/weightedmulticlasperformance .java
检索1.6版
diff -u -r1.6 weightedmulticlasperformance .java
——src/ com/rapidminer/operator/performance/weightedmulticlasperformance.java 2008年5月9日19:22:43 -0000
+++ src/ com/rapidminer/operator/performance/weightedmulticlasperformance.java 12 Mar 2009 11:02:28 -0000

}
结果= 0.0d;
For (int r = 0;r < rowsum .length;r + +) {
- result += classWeights * (counter / rowsum);
+ double p = counter / rowsum;
+ result += classWeights * (Double.isNaN(p)?0: p);
}
result /= weightSum;
返回结果;
标记:

答案

  • IngoRMIngoRM 管理员、版主、员工、RapidMiner认证分析师、RapidMiner认证专家、社区经理、RMResearcher、会员、大学教授职位:1751年RM创始人
    你好,

    谢谢你发来这些补丁。这两个对我来说都非常合理,我们刚刚将它们合并到最新的CVS开发人员分支中。当然,它们也将成为即将发布的新版本的一部分。

    再次感谢大家,干杯!
    Ingo
登录注册置评。