假设我向WEKA输入了一些数据集并为属性设置了一个归一化过滤器,因此这些值在0和1之间。然后假设归一化通过除以最大值完成,然后建立模型。那么,如果我部署模型并在新实例中进行分类,则实例的特征值大于训练集中的最大值。如何处理这种情况?它只需要1或是否需要超过1?或者它抛出异常?WEKA如何标准化属性?
2
A
回答
3
该文档没有为通用的过滤器指定此值,所以它必须取决于过滤器。我查看了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中指定它们的库,你永远不知道下一个版本会做什么。因此,如果您非常依赖特定的行为,那么编写一个自动化测试来回归测试库的行为并不是一个坏主意。
0
我有和你说的一样的问题。我做了如下,并可能这种方法可以帮助你:
我想你使用weka.filters.unsupervised.attribute.Normalize
规范化你的数据。
为欧文Bolwidt说,WEKA使用
value = (vals[j] - m_MinArray[j])/(m_MaxArray[j] - m_MinArray[j])
* m_Scale + m_Translation;
一定要规范你的属性。
不要忘记,规范化类有这两方法:
public double[] getMinArray()
public double[] getMaxArray()
返回计算出的最小值/最大值在数据的属性。
而且您可以存储最小/最大值。然后使用该公式来自己标准化数据。
记住,你可以设置属性,Instance
类,你可以通过Evaluation.evaluationForSingleInstance
您的结果进行分类我会稍后给你的链接,这可能会帮助你。 谢谢
相关问题
- 1. Weka标准化列
- 2. 防止标准属性的序列化
- 3. Weka属性选择
- 4. 如何在java weka中复制属性?
- 5. 如何在Weka中创建属性
- 6. Java,Weka:如何预测数字属性?
- 7. WEKA如何处理名义属性v/s数字属性?
- 8. WEKA:问题属性scale
- 9. 用Weka过滤属性
- 10. Weka属性的预测值
- 11. Weka中的ID属性
- 12. 属性 - 标准明智
- 13. 使用非标准属性
- 14. Chrome的性能:“标准”属性名称与非标准
- 15. 如何做标准化?
- 16. 如何使R中的数据标准化和非标准化?
- 17. 添加非标准标记属性
- 18. 如何指定抑制消息属性检查标准的.NET标准类库?
- 19. 如何标准化动态创建的TextView中的填充和其他属性?
- 20. 使用Weka进行参数优化和属性选择
- 21. 标准化数据集属性跨项目
- 22. 实体特殊属性和数据库标准化
- 23. 为什么Hibernate忽略persistence.xml中的JPA2标准化属性?
- 24. 标准化和非标准化的值
- 25. 标准化/标准化numpy recarray
- 26. 如何在Weka中使用非目标属性进行时间序列预测?
- 27. 我的Weka Java代码结果* WEKA * DUMMY * STRING * FOR * STRING *属性*
- 28. 将标准加入另一个标准的两个属性
- 29. WooCommerce变化属性标签
- 30. URL标准化和标准化的标准工具?
此回答有用吗? –