gpt4 book ai didi

java - WEKA 如何规范化属性?

转载 作者:行者123 更新时间:2023-11-30 08:26:53 26 4
gpt4 key购买 nike

假设我向 WEKA 输入一些数据集,并为属性设置一个归一化过滤器,使值介于 0 和 1 之间。然后假设通过除以最大值来完成归一化,然后构建模型。那么如果我部署模型并且在要分类的新实例中,一个实例的特征值大于训练集中的最大值,会发生什么。这种情况如何处理?它只需要 1 还是需要超过 1?还是抛出异常?

最佳答案

一般情况下,文档并没有为过滤器指定这一点。所以它必须依赖于过滤器。我查看了我假设您正在使用的 weka.filters.unsupervised.attribute.Normalize 的源代码,但我没有看到任何边界检查。

实际缩放代码在Normalize.convertInstance() method中:

value = (vals[j] - m_MinArray[j]) / (m_MaxArray[j] - m_MinArray[j])
* m_Scale + m_Translation;

除非在该方法之外进行任何(不太可能的)额外检查,否则我会说在您描述的情况下它将缩放到大于 1 的值。要 100% 确定您最好的选择是编写一个测试用例,自己调用过滤器,然后找出答案。对于未在 Javadoc 中指定其工作方式的库,您永远不知道下一个版本会做什么。因此,如果您非常依赖特定行为,那么编写一个自动化测试来对库的行为进行回归测试并不是一个坏主意。

关于java - WEKA 如何规范化属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21214733/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com