Felomeng翻译:libsvm2.88之安装和数据格式

本文介绍了如何在Unix系统中使用svm-train和svm-predict程序进行支持向量机的训练与预测,包括数据格式要求及实用工具介绍。
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="">在</span><span style=""><span style="font-family: Times New Roman;">Unix</span></span><span style="">系统中,键入“</span><span style=""><span style="font-family: Times New Roman;">make</span></span><span style="">”来生成“</span><span style=""><span style="font-family: Times New Roman;">svm-train</span></span><span style="">”和“</span><span style=""><span style="font-family: Times New Roman;">svm-predict</span></span><span style="">”程序。不带参数运行它们,可以查看它们的语法。</span><span lang="EN-US"><span style="font-family: Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="">在其它的操作系统中,请参考“</span><span style=""><span style="font-family: Times New Roman;">Makefile</span></span><span style="">”文件来生成它们(例如,查看本文档中的“生成</span><span style=""><span style="font-family: Times New Roman;">Windows</span></span><span style="">二进制文件”,或者直接使用已经生成的二进制文件(</span><span style=""><span style="font-family: Times New Roman;">Windows</span></span><span style="">二进制文件在文件夹“</span><span style=""><span style="font-family: Times New Roman;">windows</span></span><span style="">”中)。</span><span lang="EN-US"><span style="font-family: Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="">训练与测试数据文件的格式如下所示</span><span lang="EN-US"><span style="font-family: Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style=""><span style="font-size: small; font-family: Times New Roman;"><label> <index1>:<value1> <index2>:<value2>…</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;">.</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;">.</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;">. </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="">每行包含一个实例,并且以字符</span><span style=""><span style="font-family: Times New Roman;">’\n’</span></span><span style="">结束。对于分类来讲,</span><span style=""><span style="font-family: Times New Roman;"><label></span></span><span style="">是整型数据,表示类别(支持多分类)。对于回归来讲,</span><span style=""><span style="font-family: Times New Roman;"><label></span></span><span style="">是任意实数(浮点数),表示目标值。</span><span style=""><span style="font-family: Times New Roman;">one-class SVM</span></span><span style="">并不使用这个参数,所以使用什么数值都可以。除非使用预计算好的内核(稍候章节介绍),否则</span><span style=""><span style="font-family: Times New Roman;"><index>:<value></span></span><span style="">是描述属性值的。</span><span style=""><span style="font-family: Times New Roman;"><index></span></span><span style="">(索引)是从</span><span style=""><span style="font-family: Times New Roman;">1</span></span><span style="">开始的整型数据,而</span><span style=""><span style="font-family: Times New Roman;"><value></span></span><span style="">(值)是实数(浮点型)。索引必须升序排列。在测试文件中的标签只是用于计算精确度或错误率。如果它们是未知的,那么只要将第一列赋任意数值。</span><span lang="EN-US"><span style="font-family: Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="">本包含有一个用于分类的示例数据文件,文件名是“</span><span style=""><span style="font-family: Times New Roman;">heart_scale</span></span><span style="">”。要验证你的数据格式的正确性,请使用“</span><span style=""><span style="font-family: Times New Roman;">tools/checkdata.py</span></span><span style="">”工具(详见文件“</span><span style=""><span style="font-family: Times New Roman;">tools/README</span></span><span style="">”)。</span><span lang="EN-US"><span style="font-family: Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="">键入“</span><span style=""><span style="font-family: Times New Roman;">svm-train heart_scale</span></span><span style="">”,程序会读读入训练数据并生成模型文件“</span><span style=""><span style="font-family: Times New Roman;">heart_scale.model</span></span><span style="">”。假设你有一个名为“</span><span style=""><span style="font-family: Times New Roman;">heart_scale.t</span></span><span style="">”的测试集,那么键入“</span><span style=""><span style="font-family: Times New Roman;">svm-predict heart_scale.t heart_scale.model output</span></span><span style="">”以测试预测精确度。文件“</span><span style=""><span style="font-family: Times New Roman;">output</span></span><span style="">”中含有预测的分类标签。</span><span lang="EN-US"><span style="font-family: Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="">本包中还有一些别的实用程序:</span><span lang="EN-US"><span style="font-family: Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span style="">svm-scale:</span><span lang="EN-US"> </span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style=""><span style="font-family: Times New Roman;"> </span></span></span><span style="">将输入数据数值化的工具。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style=""><span style="font-size: small; font-family: Times New Roman;">svm-toy:</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style=""><span style="font-family: Times New Roman;"> </span></span></span><span style="">简单的图形界面工具,它可以展示支持向量机怎样在二维空间(即平面)上将数据分类。你可以在该窗口上面单击以绘制数据点。使用“</span><span style=""><span style="font-family: Times New Roman;">change</span></span><span style="">”按钮来选择类别</span><span style=""><span style="font-family: Times New Roman;">1</span></span><span style="">,</span><span style=""><span style="font-family: Times New Roman;">2</span></span><span style="">或</span><span style=""><span style="font-family: Times New Roman;">3</span></span><span style="">(也就是说,最多支持三类),按“</span><span style=""><span style="font-family: Times New Roman;">load</span></span><span style="">”按钮可以从文件载入数据,按“</span><span style=""><span style="font-family: Times New Roman;">save</span></span><span style="">”按钮可以将数据保存到文件,按“</span><span style=""><span style="font-family: Times New Roman;">run</span></span><span style="">”按钮可以获得一个</span><span style=""><span style="font-family: Times New Roman;">SVM</span></span><span style="">模型(根据绘制的点集或从文件载入的数据),按“</span><span style=""><span style="font-family: Times New Roman;">clear</span></span><span style="">”按钮可以清屏。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;"></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style=""><span style="font-family: Times New Roman;"> </span></span></span><span style="">在该窗口的底部文本框内,你可以输入参数,参数的句法和“</span><span style=""><span style="font-family: Times New Roman;">svm-train</span></span><span style="">”一样。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;"></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style=""><span style="font-family: Times New Roman;"> </span></span></span><span style="">注意:“</span><span style=""><span style="font-family: Times New Roman;">load</span></span><span style="">”和“</span><span style=""><span style="font-family: Times New Roman;">save</span></span><span style="">”只考虑数据分类而不考虑回归的情况。每个数据点拥有一个标签(颜色,必须是</span><span style=""><span style="font-family: Times New Roman;">1</span></span><span style="">,</span><span style=""><span style="font-family: Times New Roman;">2</span></span><span style="">或</span><span style=""><span style="font-family: Times New Roman;">3</span></span><span style="">)和两个属性(横坐标和纵座标),取值区间</span><span style=""><span style="font-family: Times New Roman;">[0,1]</span></span><span style="">。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;"></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style=""><span style="font-family: Times New Roman;"> </span></span></span><span style="">在相应目录键入“</span><span style=""><span style="font-family: Times New Roman;">make</span></span><span style="">”来生成这些程序。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;"></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style=""><span style="font-family: Times New Roman;"> </span></span></span><span style="">如果要生成</span><span style=""><span style="font-family: Times New Roman;">Qt</span></span><span style="">版本,那么需要有</span><span style=""><span style="font-family: Times New Roman;">Qt</span></span><span style="">库的支持。</span><span lang="EN-US"><span style=""><span style="font-family: Times New Roman;"> </span></span></span><span style="">(可以从</span><span style=""><a href="http://www.trolltech.com/"><span style="color: blue;"><span style="font-family: Times New Roman;">http://www.trolltech.com</span></span></a></span><span style="">下载)</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;"></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style=""><span style="font-family: Times New Roman;"> </span></span></span><span style="">如果要生成</span><span style=""><span style="font-family: Times New Roman;">GTK+</span></span><span style="">版本,那么需要有</span><span style=""><span style="font-family: Times New Roman;">GTK+</span></span><span style="">库的支持。(可以从</span><span style=""><a href="http://www.gtk.org/"><span style="color: blue;"><span style="font-family: Times New Roman;">http://www.gtk.org</span></span></a></span><span style="">下载)</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style=""><span style="font-size: small; font-family: Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style=""><span style="font-family: Times New Roman;"> </span></span></span><span style="">已编译二的</span><span style=""><span style="font-family: Times New Roman;">Windows</span></span><span style="">二进行文件在“</span><span style=""><span style="font-family: Times New Roman;">windows</span></span><span style="">”文件夹中。我们是在</span><span style=""><span style="font-family: Times New Roman;">32</span></span><span style="">位的机器上使用</span><span style=""><span style="font-family: Times New Roman;">Visual C++</span></span><span style="">生成的这些二进制文件,所以最大可以缓存是</span><span style=""><span style="font-family: Times New Roman;">2G</span></span><span style="">。</span></span></p>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值