



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
libsvm的移植(C/C+版本)现在先写一个测试libsvm的简单程序,程序参考了libsvm自带的svm-toy。现在要解决的问题是一个二类分类问题。样本总共有120个,每个样本只有两个特征。首先划分好训练集与测试集。训练集取用其中的80个(正、负样本各40),余下的则作为测试集。数据分别存入train.txt和test.txt中。1.2. #include 3. #include 4. #include 5. #include svm.h /包涵本目录下的SVM.H头文件6. #include 7. #include iostream.h8. 9. using std:ifstream;10. void main()11. 12. /*13. struct svm_problem14. 15. int l;16. double *y;17. struct svm_node *x;18. ;19. struct svm_node20. 21. int index;22. double value;23. ;24. */25. ifstream inFile;26. ifstream inFile1;27. svm_problem prob; /建立SVM数据28. prob.l=80; /80个样本,前40个为正样本,29. double d40;30. int probfeature=2; /样本特征维数31. prob.y=new doubleprob.l;32. svm_parameter param;33. 34. /svm参数设置35. param.svm_type = C_SVC;36. param.kernel_type = RBF;37. param.degree = 3;38. param.gamma = 0.0001;39. param.coef0 = 0;40. param.nu = 0.5;41. param.cache_size = 100;42. param.C = 10;43. param.eps = 1e-5;44. param.p = 0.1;45. param.shrinking = 1;46. bability = 0;47. param.nr_weight = 0;48. param.weight_label = NULL;49. param.weight = NULL;50.51. 52. /分类53. if(param.gamma = 0) param.gamma = 0.5; /gamma forpoly/rbf/sigmoid54. svm_node *x_space = new svm_node(probfeature+1) * prob.l; /样本特征存储空间55. prob.x = new svm_node *prob.l; /没一个X指向一个样本56. /数据填充开始57. inFile.open(train.txt); /打开训练数据文件58. 59. for(int i=0;iprob.l;i+)60. 61. /*/62. float fvalue;63. for (int j=0;jfvalue;66. if(fvalue!=0.0)67. 68. x_space(probfeature+1)*i+j.index=j+1;69. x_space(probfeature+1)*i+j.value=fvalue;70. 71. 72. x_space(probfeature+1)*i+probfeature.index=-1;73. prob.xi=&x_space(probfeature+1)*i;74. if (i40) /类别标签75. prob.yi=1;76. else77. prob.yi=-1;78. 79. inFile.close(); /关闭文件80.81. /数据填充结束82. / build model & classify83. svm_model *model = svm_train(&prob, ¶m); /开始训练84. int test_num=40;85. inFile1.open(test.txt);86. svm_node x3; /定义一个测试样本87. 88. for(int i1=0;i1test_num;i1+)89. 90. float fvalue;91. for (int j=0;jfvalue;94. if(fvalue!=0.0)95. 96. xj.index=j+1;97. xj.value=fvalue;98. 99. 100. x2.index=-1;101. di1=svm_predict(model,x);102. 103. inFile1.close();104. svm_destroy_model(model);105. delete x_space;106. delete prob.x;107. dele
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数学专业试题及答案
- 临床专业综合试题及答案
- 法学专业试题及答案
- 电能专业试题及答案
- 安徽省九师联盟2026届高三9月开学联考语文(含答案)
- 客车专业试题及答案
- 职高护理专业试题及答案
- 湖南省岳阳市临湘市2024-2025学年高一下学期开学地理试卷(含答案)
- 绿色校园安全教育内容
- 2025年五年级第二学期期末考试试卷
- 全书电子课件:领导科学概论
- 《关于作业的班会》课件
- 实训楼配电改造施工方案
- 上菜服务流程培训
- 小学生爱国主义情怀情景剧《满江红》剧本完整台词
- 2024午托托管协议书:城市儿童午托与习惯养成服务3篇
- 膝关节解剖完整版本
- 医院水、电、气故障报修、排查、处理流程
- 中国产业互联网发展报告(2021)by托比网
- 污水处理系统中的管网建设与维护考核试卷
- 公司车间班组分层审核检查表
评论
0/150
提交评论