normalization问题分析
从得到的另一文本保存的结果:
x -1 1 1 17837.8 120910 2 9072.4 96042.5 3 5.79773 8.93843 4 0.000159379 0.00488674 5 0.113665 0.338039 6 47.6554 885.154 7 5.89921 9.045389999999999 8 0.000139872 0.00429934 9 0.09410209999999999 0.30107 10 68.66500000000001 1343.01 11 5.83471 8.96603 12 0.000153273 0.00467842 13 0.106747 0.325129 14 52.8233 990.235 15 5.86354 8.963570000000001 16 0.000154128 0.00451467 17 0.108257 0.313342 18 77.2426 1183.43
也就是对每一列的最大值和最小值进行了保存,因为必须还要对测试数据进行统一归一化,所以有必要进行保存,不然没办法啦,呵呵
也就是在libsvm保存为scale.scaled的文件,成为缩放规则。之后的测试数据按照此规则进行缩放。
毕竟训练分类器模型的是利用样本数据,因此测试数据也没必要缩放为[-1,+1]内。
另外附上exe调用方法:
svm-scale -s scale svm_sample_feature.txt>data.txt
svm-scale -r scale features_SVM.txt>test.txt