机器学习和生物信息学实验室联盟

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1920|回复: 0
打印 上一主题 下一主题

PCVMs--使用方法(分类器)

[复制链接]
跳转到指定楼层
楼主
发表于 2016-3-11 17:35:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 guojiasheng 于 2016-3-12 11:17 编辑

               Probabilistic Classification Vector Machine (PCVM):

     大概说明一下这个东西,我也没怎么研究过,不过要有拿来主义的精神,会用就好!
具体大家可以到这个网站查看:
        https://www.techfak.uni-bielefeld.de/~fschleif/software.xhtml

      1. 我粗略的拜读了这文章。下面简要说明,有错大家不要见怪~~~
       1)PCVMs类似SVM,model的function,看最下方图片:
            因此参数里面也有个kernel
       2)PCVMs 通过对function的参数w引入Gaussian prior 使得PCVMs可以输出分类的概率。
            SVM通过最大间隔化进行分类,现在也有方法使得svm的binary的output可以转变成概率输出,但是这个概率输出不是很可靠(作者这么说)
       3)SVM需要通过交叉验证去最优化参数,比如C g这些参数,随着训练数据的变大,会很耗时。PCVMs不用。

       其他的大家自己看论文去吧~
         

     2. 数据格式说明:
        数据的格式是cvs的,具体如下:
  1. 88,67,21,11,11,0.5,1
  2. 92,54,22,20,7,0.5,1
  3. 90,60,25,19,5,0.5,1
  4. 89,52,13,24,15,0.5,1
  5. 82,62,17,17,15,0.5,1
  6. 90,64,61,32,13,0.5,1
复制代码

其中最后一列是类别标签,其实就是把arff最上面的那些熟悉值说明去掉即可。

     3.  usage:
       有两个版本: windows  和  linux(需要安装一些环境,比如boost,libtool等一些,然后自己编译)
   
    命令参数:
    --cv true (进行交叉验证)
    --k-fold(5,10折这样的)
    --kernel 1 (这是kernel的选择,1 代表elm-kernel ,默认是linear的)
    --data (文件路径,这个只能是cvs格式的,把arff文件的上面属性说明去掉就好)
   
1)windows下:
          我下的上面网站链接的:PCVM windows binaries (including libaries)
          1.交叉验证:
               使用cmd进入目录
               命令: PCVM.exe --cv true --k-fold 10 --kernel 1 --data D://bupa.cvs
          2.train model
               命令:  PCVM.exe  --model D://model.txt --kernel 1 --data D://bupa.cvs
               模型的那些参数会保存在model.txt里面
          3.predict  
                 PCVM.exe --model D://model.txt --kernel 1 --data D://bupa.cvs  --predict ture

         当然还有其他的命令,大家可以自己看论文。

2)linux下:
          我下的是上面网站链接的: Probabilistic Classification Vector Machine (PCVM): PCVM in C++
          类似,就是编译可能会麻烦点,需要安装boost,armadillo,libtool等。大家可以试试,编译不过的可以找我~~
          注意:编译后可执行文件在pcvm-bin目录下
  1. Examples (all in pcvm_bin/)
  2. 1) Classify vectorial iris data in data/ using defaults (linear kernel, 500 cycles)
  3.    ./pcvm
  4. 2) Same as 1) but with a crossvalidation (10 fold)
  5.    ./pcvm --cv true
  6. 3) Same as 2) but with a 5 fold crossvalidation
  7.    ./pcvm --cv true --k-fold 5
  8. 4) Same as 1) but with an elm-kernel instead of a linear one
  9.    ./pcvm --kernel 1
  10. 5) Same as 4) but with storing the model result in test1.txt
  11.    ./pcvm --kernel 1 --model test1.txt
  12. 6) Same as 1) but with a user defined dataset
  13.    ./pcvm --data data/randn_n_2c.csv
  14. 7) Same as 5) but by classifying the given data against the specified model
  15.    (make sure that the model fits to the provided data)
  16.    ./pcvm --kernel 1 --model test1.txt --data data/randn_n_2c.csv --predict true
  17. 8) Generate a model for a user defined kernel (the input data must have a special format - see above)
  18.    store the model in test1.txt and apply a 10-fold crossvalidation
  19.     ./pcvm --cv true --model test1.txt --kernel 2 --data data/iris_kernel_small.csv
  20. 9) Classify new data against the model obtain in 8 (not the difference in the --data argument)
  21.     ./pcvm --cv true --model test1.txt --kernel 2 --data data/iris_kernel_small_test.csv --predict true
  22. 10) Generate an iris classification model based on a nystroem approximated matrix (here with 10 landmarks) and store the model in test1.model
  23.     ./pcvm --data data/iris_lin_ny.csv --kernel 2 --nystroem true --model test1.model
  24. 11) Match against the model obtained in 10)
  25.     ./pcvm --data data/iris_lin_ny_test.csv --kernel 2 --nystroem true  --model test1.model --predict true
复制代码




实验结果:
       用了bupa.arff进行了10则交叉验证 :   效果和lib3c差不多,比rf稍微好些。
ACC:
    PCVM: :72.2%
    LIBD3C: 72.4
    RF:70% 左右
   



  


               

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

机器学习和生物信息学实验室联盟  

GMT+8, 2024-11-1 23:40 , Processed in 0.071464 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表