1 / 28
文档名称:

svm算法实验实验报告.doc

格式:doc   大小:63KB   页数:28页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

svm算法实验实验报告.doc

上传人:raojun00001 2019/5/25 文件大小:63 KB

下载得到文件列表

svm算法实验实验报告.doc

文档介绍

文档介绍:svm算法实验实验报告篇一:SVM实验报告SVM分类算法一、数据源说明1、数据源说远和理解:采用的实验数据源为第6组:panyBenchmark(COIL2000):这个数据集用来训练和检验预测模型,并且建立了一个5822个客户的记录的描述。每个记录由86个属性组成,包含社会人口数据(属性1-43)和产品的所有关系(属性44-86)。社会人口数据是由派生邮政编码派生而来的,生活在具有相同邮政编码地区的所有客户都具有相同的社会人口属性。第86个属性:“大篷车:家庭移动政策”,是我们的目标变量。共有5822条记录,根据要求,全部用来训练。:这个数据集是需要预测(4000个客户记录)的数据集。,只是没有最后一列的目标记录。我们只希望返回预测目标的列表集,所有数据集都用制表符进行分隔。共有4003(自己加了三条数据),根据要求,用来做预测。:最终的目标评估数据。这是一个实际情况下的目标数据,将与我们预测的结果进行校验。。数据集理解:本实验任务可以理解为分类问题,即分为2类,也就是数据源的第86列,可以分为0、1两类。,生成model,再根据model进行预测。2、数据清理代码中需要对数据集进行缩放的目的在于:A、避免一些特征值范围过大而另一些特征值范围过小;B、避免在训练时为了计算核函数而计算内积的时候引起数值计算的困难。因此,通常将数据缩放到[-1,1]或者是[0,1]之间。二、数据挖掘的算法说明1、svm算法说明LIBSVM软件包是台湾大学林智仁(Chih-JenLin)博士等用C++实现的SVM库,并且拥有matlab,perl等工具箱或者代码,(包括C-SVC、n-SVC)、回归问题(包括e-SVR、n-SVR)以及分布估计(one-class-SVM)等问题,提供了线性、多项式、径向基和S形函数四种常用的核函数供选择,可以有效地解决多类问题、交叉验证选择参数、对不平衡样本加权、多类问题的概率估计等。2、实现过程在源程序里面,主要由以下2个函数来实现:(1)structsvm_model*svm_train(conststructsvm_problem*prob,conststructsvm_parameter*param);该函数用来做训练,参数prob,是svm_problem类型数据,具体结构定义如下:structsvm_problem//存储本次参加运算的所有样本(数据集),及其所属类别。{intn;//记录样本总数double*y;//指向样本所属类别的数组structsvm_node**x;//指向一个存储内容为指针的数组};其中svm_node的结构体定义如下:structsvm_node//用来存储输入空间中的单个特征{intindex;//输入空间序号,假设输入空间数为mdoublevalue;//该输入空间的值};所以,prob也可以说是问题的指针,它指向样本数据的类别和输入向量,在内存中的具体结构图如下:,样本数据在内存中的存放结构只需在内存中申请n*(m+1)*sizeof(structsvm_node)大小的空间,并在里面填入每个样本的每个输入空间的值,即可在程序中完成prob参数的设置。参数param,是svm_parameter数据结构,具体结构定义如下:structsvm_parameter//训练参数{intsvm_type;//SVM类型,intkernel_type;//核函数类型intdegree;/*forpoly*/doublegamma;/*forpoly/rbf/sigmoid*/doublecoef0;/*forpoly/sigmoid*//*thesearefortrainingonly*/doublecache_size;/*inMB制定训练所需要的内存*/doubleeps;/*stoppingcriteria*/doubleC;/*forC_SVC,EPSILON_SVRandNU_SVR,惩罚因子*/int_weight;/*forC_SVC权重的数目*/int*weight_label;/*forC_SVC权重,元素个数由_weight决定*/double*weight;/*forC_SVC*/doublenu;/*forNU_SVC,ONE_CLASS,andNU_SVR*/doublep;/*forEPSILON_SVR*/intshrinking;/*useth