|
|
51CTO旗下网站
|
|
移动端

2.2.2 LibSVM 的使用

《大数据分析:数据挖掘必备算法示例详解》第2章SVM 算法,本书详细介绍了大数据分析,尤其是数据分类相关算法的原理及实现 细节,并给出了每个算法的编程实例。本节为大家介绍LibSVM 的使用。

作者:张重生来源:机械工业出版社|2017-12-13 17:38

【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》

2.2.2 LibSVM 的使用

(1)LibSVM的一般处理过程

① 数据预处理

数据格式转换:将数据转换成 SVM的格式。SVM算法要求一个实数向量表示一个数据样本。

数据规范化:不仅可以避免算法实施过程中大数值范围的属性对小数值范围属性的影响,同时也可以避免出现数值计算困难的问题。

对于训练集和测试集,要使用同样的方法进行规范化。

② 模型选择:选择合适的内核,并确定惩罚参数 (C)和内核参数 (γ,gamma)。

③ 通过交叉验证获取***的参数 C和 γ,并用来训练整个训练集。

④ 对测试集进行测试。

(2)LibSVM的参数介绍

打开 MATLAB,将工作目录切换至 LibSVM文件夹下,输入如下命令:

  1.  >>svmtrain 

即可看到如下输出 (该段代码为 LibSVM软件包的输出):

  1. Usage:model=svmtrain(training_label_vector,training_instance_matrix,′libsvm_options′);  
  2. libsvm_options:  
  3. -ssvm_type:settypeofSVM(default0)  
  4. 0--C-SVC  
  5. 1--nu-SVC  
  6. 2--one-classSVM  
  7. 3--epsilon-SVR  
  8. 4--nu-SVR  
  9. -tkernel_type:settypeofkernelfunction(default2)  
  10. 0--linear:u′?v  
  11. 1--polynomial:(gamma?u′?v+coef0)^degree  
  12. 2--radialbasisfunction:exp(-gamma?|u-v|^2)  
  13. 3--sigmoid:tanh(gamma?u′?v+coef0)  
  14. 4--intersection:sum(min(x,y))  
  15. 5--chi-square:exp(-gamma?(1-2?sum((xi-yi)^2/(xi+yi))))  
  16. 6--precomputedkernel(kernelvaluesintraining_instance_matrix)  
  17. -ddegree:setdegreeinkernelfunction(default3)  
  18. -ggamma:setgammainkernelfunction(default1/num_features)  
  19. -rcoef0:setcoef0inkernelfunction(default0)  
  20. -ccost:settheparameterCofC-SVC,epsilon-SVR,andnu-SVR(default1)  
  21. -nnu:settheparameternuofnu-SVC,one-classSVM,andnu-SVR(default0?5)  
  22. -pepsilon:settheepsiloninlossfunctionofepsilon-SVR(default0?1)  
  23. -mcachesize:setcachememorysizeinMB(default100)  
  24. -eepsilon:settoleranceofterminationcriterion(default0?001)  
  25. -hshrinking:whethertousetheshrinkingheuristics,0or1(default1)  
  26. -bprobability_estimates:whethertotrainaSVCorSVRmodelforprobability  
  27. estimates,0or1(default0)  
  28. -wiweight:settheparameterCofclassitoweight?C,forC-SVC(default1)  
  29. -vn:n-foldcrossvalidationmode  
  30. -q:quietmode(nooutputs) 

在此,笔者将对其中几个参数进行简要说明。

-s:表示 SVM算法的类型,一般情况下采用默认参数。

-t:表示内核函数类型,一般采用 RBF内核。

其中参数 -c和 -g对训练结果影响较大,建议对这两个参数进行选优后再对整个训练集进行训练。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码

 

51CTO读书频道活动讨论群:365934973
【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

16招轻松掌握PPT技巧

16招轻松掌握PPT技巧

GET职场加薪技能
共16章 | 晒书包

289人订阅学习

20个局域网建设改造案例

20个局域网建设改造案例

网络搭建技巧
共20章 | 捷哥CCIE

645人订阅学习

WOT2019全球人工智能技术峰会

WOT2019全球人工智能技术峰会

通用技术、应用领域、企业赋能三大章节,13大技术专场,60+国内外一线人工智能精英大咖站台,分享人工智能的平台工具、算法模型、语音视觉等技术主题,助力人工智能落地。
共50章 | WOT峰会

0人订阅学习

读 书 +更多

SQL Server 2005数据挖掘与商业智能完全解决方案

本书以BI解决方案的体系结构为中心,以SQL Server 2005为载体,将着眼点放在数据挖掘和商业智能上,详细讲解了数据报表、数据分析和数据挖...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客