您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 一个SVM分类的测试代码模板
SVM分类代码模板,在使用的时候只需要将数据集导入,在修改一点点参数就可以进行分类效果及其可视化显示。Contents原始数据可视化归一化预处理featureselection参数c和g寻优选择分类预测%SVM分类测试程序代码模板%清空变量空间clc;clear;closeallformatcompact%程序代码计时开始tic;%数据导入X0=load('C:\DocumentsandSettings\Administrator\桌面\训练数据\ecolitrain.txt');Y0=load('C:\DocumentsandSettings\Administrator\桌面\训练数据\ecolitest.txt');trainset=X0(:,2:end);trainset_label=X0(:,1);testset=Y0(:,2:end);testset_label=Y0(:,1);原始数据可视化figure;boxplot(trainset,'orientation','horizontal');gridon;title('Visualizationfororiginaldata');%原始样本集各维度可视化featuredisplay(trainset,trainset_label,testset,testset_label,1);%计数样本类别数labelnum=countlabelnum(testset_label);归一化预处理[trainset,testset]=scaleForSVM(trainset,testset,0,1);%样本集归一化后各维度可视化featuredisplay(trainset,trainset_label,testset,testset_label,1);%降维处理%1.pca处理[trainset,testset]=pcaForSVM(trainset,testset);%[trainset,testset]=pcaForSVMtxb(trainset,testset);%%2.ica处理%[trainset,testset]=fasticaForSVM(trainset,testset);%%3.dct处理%[trainset,testset]=DCTforSVM(trainset,testset);featureselectionusingGA,...,etc.参数c和g寻优选择[bestacc,bestc,bestg]=SVMcgForClass(trainset_label,trainset,-8,8,-8,8,3,0.5,0.5,0.5)cmd=['-c',num2str(bestc),'-g',num2str(bestg)];bestacc=87.7676bestc=2bestg=4分类预测model=svmtrain(trainset_label,trainset,cmd);[ptrain_label,train_acc]=svmpredict(trainset_label,trainset,model);[predict_label,test_acc,dd]=svmpredict(testset_label,testset,model);Accuracy=89.6024%(293/327)(classification)Accuracy=91.1111%(41/45)(classification)%ROC曲线plotSVMroc(testset_label,predict_label,labelnum);%分类效果可视化、正确率[rightpercent,testnum,errornum,errorindex]=classmeasures(testset_label,predict_label,bestc,bestg);Warning:Ignoringextralegendentries.%程序运行计时tocElapsedtimeis44.981119seconds.PublishedwithMATLAB?7.9.0在此感谢fartuo提供的一些函数,谢谢!
本文标题:一个SVM分类的测试代码模板
链接地址:https://www.777doc.com/doc-4919023 .html