在 环境下,此软件包提供 工具集,主要包括:训练工具
,预测工具 ,缩放数据工具 和二
维演示工具 。
使用这个工具,就可以用来分类了,具体步骤如下:
把样本数据按固定格式Ⅰ保存成文本文件 ;
利用训练工具,输入训练参数进行训练,并把训练出的支持向量机模型
保存成文本文件 ;
在预测工具中,导入训练好的支持向量机模型 ,输入以固定格式Ⅱ保
存的预测数据文本文件 ,最终得到预测结果文件 。
很明显,该软件包只是一个工具集,很难与既有的程序融合,但该工具包
是开源的。因此,笔者通过研究该工具包中的源程序,了解了训练和预测两模
块的内部运行机制,成功把 !"#$% 嵌入到笔者的 # &&'( 程序,希望该
移植方法给后人的研究带来方便。
通过上面的介绍可知 !"#$ 分类的具体步骤,在源程序里面,主要由以
下 个函数来实现:
)*+*)*,+,-
)*+.
该函数用来做训练,参数 ,,是 *, 类型数据,具体结构定义如下:
)*,////////00存储本次参加运算的所有样本数据集,及其所
属类别。
1
////////.///////////////////////////00记录样本总数
///////////////),+.//////////////////00指向样本所属类别的数组
///////////////)*++.//00指向一个存储内容为指针的数组
2.
其中 * 的结构体定义如下:
)*////////////////00用来存储输入空间中的单个特征
1
/////////////////.//////////////00输入空间序号,假设输入空间数为
///////////////),).///////00该输入空间的值
2.
所以,, 也可以说是问题的指针,它指向样本数据的类别和输入向量。
只需在内存中申请 +&+34)*大小的空间,并在里
面填入每个样本的每个输入空间的值,即可在程序中完成 , 参数的设置。
参数 ,是 * 数据结构,具体结构定义如下: