您的位置:首页 > 其它

用libsvm做分类的几种实例

2014-11-14 15:30 162 查看
最近学习了支持向量机,并且学习使用SVM的工具箱,下面推荐libsvm工具箱。

libsvm是台湾大学林智仁(Chih-Jen Lin)博士等开发设计的一个操作简单、易于使用、快速有效的通用 SVM 软件包,可以解决分类问题(包括 C−SVC 、ν−SVC ), 回归问题(包括 ε − SVR 、v− SVR ) 以及分布估计(one − class − SVM ) 等问题,提供了线性、多项式、径向基和 S 形函数四种常用的核函数供选择,可以有效地解决多类问题、交叉验证选择参数、对不平衡样本加权、多类问题的概率估计等。libsvm 是一个开源的软件包,我主要是使用java进行文本挖掘。

libsvm的开源包可以从 http://www.csie.ntu.edu.tw/~cjlin/libsvm/ 中下载,

java版本的工具箱,打开libsvm-3.14版本中的/java文件夹,可以找到一个测试文件svm_toy.java,带界面的,能可视化测试二维空间的分类数据,这里我选取了5中比较有代表性的数据进行实验。

(1)第一种是二类数据没有交叉的不部分,支持向量机线性可分的情况



分类结果如下:



(2)对于二分类问题数据集少量有交叉的情况,即存在噪声的情况,



分类结果如下,可以看到SVM算法仍然有很好的效果



(3)对于线性不可分的情况,svm一般是变换到高维空间处理,



分类结果如下:



(4)对于多类别的分类问题,svm通常是转换成多个二分类问题了来处理,



分类结果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: