在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環境下完成計算檢測率和誤檢率的程序。