在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环境下完成计算检测率和误检率的程序。
本文介绍了如何在MATLAB环境下利用sample、SVMdata、sepjoin和write4libsvm函数进行采样、计算特征、生成训练及测试集,并转换为libSVM格式。接着在libSVM中,通过svm-scale进行数据预处理,svm-train得到模型,svm-predict进行分类预测。未来计划是研究不同采样窗口下预测的准确率,并在MATLAB中实现检测率和误检率的计算程序。
3388

被折叠的 条评论
为什么被折叠?



