missing equals() for class Example

旧的用户旧的用户 成员职位:0新手
2018年11月编辑 帮助
你好,

在实现一个新算子的过程中,我想计算一个例子的环境。我实现了以下代码:

private List gettepsilonenvironment (final Example, final exampleeset exampleeset) {
final List result = new LinkedList();

日志。logNote("EPSILON-ENVIRONMENT FOR " + example);

for (final Example other: exampleSet) {
日志。logNote(“TESTING”+其他);
/ *
*加上所有(其他!)比epsilon更接近的例子
* /
如果(!(example == other || example.equals(other)) && distance(example, other) < epsilon) {
result.add(其他);
日志。logNote(“添加!”);
}
}

日志。logNote("RESULT: " + RESULT);
返回结果;
}
问题是示例本身总是被添加到结果列表中,尽管我检查了==和equals():

[注]epsilon-environment为5.1 3.5 1.4 0.2 1.0
[注]测试5.1 3.5 1.4 0.2 1.0
[注]添加!
[注]测试5.6 3.0 4.1 1.3 2.0
[注]添加!
[注]测试5.5 2.6 4.4 1.2 3.0
[注]添加!
[注]测试5.4 3.7 1.5 0.2 4.0
[注]添加!
[注]测试6.5 3.0 5.2 2.0 5.0
[注]测试5.7 3.8 1.7 0.3 6.0
[注]添加!
[注]result: [5.1 3.5 1.4 0.2 1.0, 5.6 3.0 4.1 1.3 2.0, 5.5 2.6 4.4 1.2 3.0, 5.4 3.7 1.5 0.2 4.0, 5.7 3.8 1.7 0.3 6.0]
我如何保证不将示例添加到环境中?有办法检查例子的同一性吗?

谢谢,
罗伯特。
标记:

答案

  • 土地土地 RapidMiner认证分析师,RapidMiner认证专家,成员职位:2531年独角兽
    嗨罗伯特,
    示例只是对数据的视图。无论如何,你都不应该存储它们。如果你需要这些数据,你应该把它们复制到双精度[]

    问候,
    塞巴斯蒂安。
登录注册置评。