• 生成libSVM的数据格式及使用方法


    libSVM数据格式:

    参考博文:http://blog.csdn.net/kobesdu/article/details/8944851

    Label 1:value 2:value ….

    Label:是类别的标识,比如上节train.model中提到的1 -1,你可以自己随意定,比如-10015。当然,如果是回归,这是目标值,就要实事求是了。

    Value:就是要训练的数据,从分类的角度来说就是特征值,数据之间用空格隔开

    比如: -15 1:0.708 2:1056 3:-0.3333

    需要注意的是,如果特征值为0,特征冒号前面的(姑且称做序号)可以不连续。如:

           -15 1:0.708 3:-0.3333

    表明第2个特征值为0,从编程的角度来说,这样做可以减少内存的使用,并提高做矩阵内积时的运算速度。我们平时在matlab中产生的数据都是没有序号的常规矩阵,所以为了方便最好编一个程序进行转化。

    使用FormatDataLibsvm.xls 生成libSVM数据格式

    运行FormatDataLibsvm.xls(注意这时会有一个关于“宏已禁宏”的安全警示,点击“选项”,选择“启用此内容”,确定即可);1,先运行FormatDataLibsvm.xls然后将数据粘贴到sheet1topleft单元。

       2 打开data.xls,(注:网上很多的介绍都是直接将数据粘贴到sheet1topleft单元),要特别注意的是这时候的数据排列顺序应该是:

                      条件属性  条件属性 ...  决策属性

                                7     5    ...  2

                                4     2    ...  1

          3"工具"-->""-->执行下面有一个选项(FormatDatatoLibsvm-->执行,要选中这个然后点击“运行” ,这时候数据讲变成:

                     决策属性  条件属性 条件属性 ...

                            2    1:7    2:5    ...

                           1    1:4    2:2    ...

     

    等数据转换完成后,将该文件保存为.txt文件。这时数据转换的问题就解决了。

    如何使用这些数据

    以简单的使用为例

    在用libsvm自带的一个例子heart_scale.mat时,一切正常~

    load heart_scale.mat(此处无分号)

    train = heart_scale_inst;

    train_label=heart_scale_label;

    test=train;

    test_label=train_label;

    model=svmtrain(train_label,train,'-c 2 -g 0.01');

    [predict_label,accuracy]=svmpredict(test_label,test,model);

    但是在我们用自己的例子时出现了问题~

    因为train = heart_scale_inst;是用的mat文件的特征列

    train_label=heart_scale_label;用的是mat文件的标签列

    而我们生成的txt或者mat文件还没有进行赋值所以一开始进行赋值就可以了~

    A=[newmat(1:2288,1:3)];%特征列

    B=[newmat(1:2288,4)];%标签列

    train = A;

    train_label=B;

    目前只进行了简单的训练以及测试……END



  • 相关阅读:
    回顾Oracle几个用到的基本语句
    JDBC连接数据库中CallableStatement执行有参存储过程及注解其他
    JDBC连接数据库步骤及Class.forName()(转)
    Web开发的编码解决中文乱码
    Filter,Listener(转)
    web.xml 中的listener、 filter、servlet 加载顺序及其详解(转)
    算法训练 比赛安排
    算法训练 字符串编辑
    算法训练 最大值与最小值的计算
    算法训练 判定数字
  • 原文地址:https://www.cnblogs.com/lovelifelovestudy/p/4004443.html
Copyright © 2020-2023  润新知