剑桥大学Matthew Johnson博士根据林智仁教授的Libsvm2.84编写了基于C#平台的SVM类库。此类库完全实现了Libsvm的所有功能,重新设计了对象结构以更好的适应.Net平台(包括C#以及VB.Net)。利用此类库可以轻松的实现SVM的分类功能。
可以在此处下载:www.brsbox.com/filebox/down/fc/07989ebf882acd1bfb4f0298bb574a7c
压缩包中提供了四个方面的内容:
1.SVM.Net源代码文件
2.SVM.Net编译生成的类库
3.演示程序Demo
4.演示程序源代码
演示程序实现了一个简单的多类分类问题,样本有两个特征(即二维空间的x座标和y座标),样本根据颜色分成若干类别,SVM根据用户在二维空间中散布的不用颜色的点阵,将二维空间分割成数个具有不用颜色的区域.如果一个未知类别的点属于某个颜色空间,那么该点即为此种颜色代表的类别. 演示程序运行界面
文件格式:
Libsvm的样本文件格式如下:
[label] [index1]:[value1] [index2]:[value2] ... 其中,
[label]代表样本类别,一般情况下设置为0,1,2,3,4...等自然数
[index]代表样本特征参数序号,第一个参数即为[1],第二个参数即为[2]...
[value]代表样本特征参数值
举一个简单的例子,有两个类别0,1.每种类别有3个特征:
0 1:0.5 2:0.5 3:0.5
1 1:1.5 2:2.5 3:3.5
这种格式既可以表示训练样本,又可以表示测试样本.当表示测试样本时,类别标签[label]会与训练过的SVM判别出的类别进行比对,进而在结果文件中给出判别的准确率.当然,如果您不需要判别准确率数据,那么此时的类别标签可以是任意数,但不能省略...
你可以按照以下步骤,进行svm的训练和预测