LibSVM工具箱之C#版本

LibSVM工具箱之C#版本

在libsvm的官网上下载了C#版本的支持向量机,对已有的数据进行训练和测试,网站如下:LibSVM官网
在这里插入图片描述
打开后的源代码如下,训练集和测试集均为wine.txt数据文件。

在这里插入图片描述
我们将自己的训练数据和测试数据均放在Dataset文件夹下,然后将程序的读取文件wine.txt分别修改为libsvmtrain_sample.txt和libsvmtest_sample.txt,接着在如下图所示的Dataset下添加现有项,则Dataset就包含了libsvmtrain_sample.txt和libsvmtest_sample.txt。

在这里插入图片描述
在这里插入图片描述
运行程序,出现如下错误,经检查:
发现路径LibSVMsharpmaster\LibSVMsharp.Examples.Classification\bin\Debug\Dataset下没有libsvmtrain_sample.txt和libsvmtest_sample.txt,这说明程序没有读取到训练数据和测试数据;
打开libsvmtrain_sample.txt和libsvmtest_sample.txt,并对比wine.txt,发现数据存储在文件里的格式不一致。而使用wine.txt数据,运行程序的结果正常。所以需要修改上述两个文件里的数据存储格式。

在这里插入图片描述
使用Notepad++打开libsvmtrain_sample.txt和libsvmtest_sample.txt,对文件的数据格式进行如下更改,并将第一列的空格去掉(其后会出现长空格),再将第一列和第二列用一个空格替换。

在这里插入图片描述
数据存储格式调整完毕。

在这里插入图片描述
程序读取训练数据libsvmtrain_sample.txt和测试数据libsvmtest_sample.txt都会存放在以下路径:
LibSVMsharp-master
\LibSVMsharp.Examples.Classification
\bin\Debug\Dataset
但是要在程序里进行以下设置:将读取的文件始终复制到输出目录。

在这里插入图片描述
这时,该路径下就出现了程序读取的文件,而文件读取出错时,该文件就不存在此目录。

在这里插入图片描述
接下来,运行程序,结果如下:训练的模型对测试数据分类的准确度为87.5%
在这里插入图片描述
在此感谢尹老师帮我解决了数据格式出错的问题。

猜你喜欢

转载自blog.csdn.net/weixin_45317919/article/details/108598246