我有一组训练数据集和多个测试数据集(我在聚类框架中对实例进行分类,因此测试集的实例是动态计算的)。
实例的属性具有不同的尺度(第一个属性从0到1变化,第二个属性从0到100变化)。
我的分类器(逻辑回归和SMO)如何处理它们无法一次获得整个测试集的情况?
换句话说,如果它们不知道测试集中最大值是多少,它们如何处理不同尺度的属性?
谢谢
回答:
根据Weka Javadocs,SMO“默认情况下会对所有属性进行归一化处理。(请注意,输出中的系数是基于归一化/标准化后的数据,而不是原始数据。)”也就是说,如果你的训练集没有覆盖每个属性的完整范围,你会得到错误的归一化。具体有多严重取决于你的数据。
我建议你尝试在有和没有归一化的情况下进行训练(使用setFeatureSpaceNormalization(false)
来关闭归一化),看看哪种方法效果最好。