电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

SVM实验报告VIP专享VIP免费

SVM实验报告_第1页
SVM实验报告_第2页
SVM实验报告_第3页
svm 分类算法 一、 数据源说明 1、 数据源说远和理解: ticeval2000.txt: 这个数据集是需要预测( 4000 个客户记录)的数据集。它和ticdata2000.txt 它具有相同的格式,只是没有最后一列的目标记录。我们只希望返回预测目标的列表集,所有数据集都用制表符进行分隔。共有4003(自己加了三条数据),根据要求,用来做预测。 tictgts2000.txt: 最终的目标评估数据。这是一个实际情况下的目标数据,将与我们预测的结果进行校验。我们的预测结果将放在result.txt 文件中。 数据集理解:本实验任务可以理解为分类问题,即分为2 类,也就是数据源的第86 列,可以分为0、 1 两类。我们首先需要对ticdata2000.txt 进行训练,生成model, 再根据model进行预测。 2、 数据清理 代码中需要对数据集进行缩放的目的在于: a、避免一些特征值范围过大而另一些特征值范围过小; b、 避免在训练时为了计算核函数而计算内积的时候引起数值计算的困难。因此,通常将数据缩放到 [ -1,1] 或者是 [0,1] 之间。 二、 数据挖掘的算法说明 1、 svm 算法说明 2、 实现过程 在源程序里面,主要由以下2 个函数来实现: (1) struct svm_model *svm_train(const struct svm_problem *prob, const struct svm_parameter *param); 该函数用来做训练,参数prob, 是 svm_problem 类型数据,具体结构定义如下: struct svm_problem //存储本次参加运算的所有样本(数据集),及其所属类别。 { int n; //记录样本总数 double *y; //指向样本所属类别的数组 struct svm_node **x; //指向一个存储内容为指针的数组 }; 其中svm_node 的结构体定义如下: struct svm_node //用来存储输入空间中的单个特征 { int index; //输入空间序号,假设输入空间数为m double value; //该输入空间的值 }; 所以,prob 也可以说是问题的指针,它指向样本数据的类别和输入向量,在内存中的具体结构图如下: 图 1.1libsvm 训练时,样本数据在内存中的存放结构 只需在内存中申请n*(m+1)*sizeof(struct svm_node)大小的空间,并在里面填入每个样本的每个输入空间的值,即可在程序中完成prob 参数的设置。 参数param,是svm_parameter 数据结构,具体结构定义如下: struct svm_parameter // 训练参数 { int svm_type; //svm 类型, int kernel_type; //核函数类型 int degree; /* for poly ...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部