在matlab环境下:
1. 采样。函数sample
2. 加上类标,计算特征值。函数SVMdata
3. 生成训练集、测试集。函数sepjoin
4. 转换成libSVM要求的格式。函数write4libsvm
为了方便修改,上述4步可以集中存放在WholeFlow.m中:
[sampled_no,sampled_with] = sample (packetprocess_no,packetprocess_with,300,320,sw,si);
SVM_no = SVMdata(sampled_no,no,0);
SVM_with = SVMdata(sampled_with,no,1);
[train,test] = sepjoin(SVM_no,SVM_with,200,100);
write4libsvm(train);
write4libsvm(test);
在libSVM环境下:
5. 数据预处理,通过svm-scale命令将训练集和测试集进行适当缩放
6. 通过训练集得到预测模型
7. 通过预测模型进行分类预测
同样的为了方便修改,可以将上述3步写成批处理文件svm.bat:
svm-scale -r range1 train > train.scale
svm-scale -r range1 test > test.scale
svm-train train.scale
svm-predict test.scale train.scale.model test.predict
下一步工作:按照上述流程,得到不同采样窗口下的预测准确率;在matlab环境下完成计算检测率和误检率的程序。