Python下的LibSVM的使用

时间:2023-03-10 06:28:36
Python下的LibSVM的使用

  突然觉的笔记真的很重要,给自己省去了很多麻烦,之前在Python 3 中装过libsvm 每一步都是自己百度上面搜寻的,花费了很长时间,但是并没有记录方法。这次换了电脑,又开始重新搜寻方法,觉得太浪费时间了,所以写下这段话,告诉大家,一定要做笔记呢。

然后我在安装和使用的过程中,发现Python2 和Python3 上面对于libsvm安装和初步使用方法时一样的,大家可以借鉴。

  毋庸置疑,LibSVM是*牛人为世界机器学习的卓越贡献之一。一般都是基于Matlab的,其实LibSVM也可以用Python跑

  第一步,确定本机Python的版本:

  Python下的LibSVM的使用

   第二步,要下载Libsvm的压缩包:

  我是在这个网站上面下载的libsvm-3.20版本。网站:http://www.csie.ntu.edu.tw/~cjlin/libsvm/oldfiles/。这个网站也可以下载,推荐给大家看。http://www.csie.ntu.edu.tw/~cjlin/libsvm/

   第三步,将zip 放到一个特定的位置,我直接放到D盘目录底下了。其他地方也可以

          Python下的LibSVM的使用

    第四步,就可以测试一下LibSVM是否可用了,打开Python IDE,输入以下代码:

         Python下的LibSVM的使用

    能够看到84%的准确度。

  第五步,使用我的个人数据
       
libsvm的数据格式如下:

Python下的LibSVM的使用

      第一列代表标签,第二列是第一个特征值,第三列是第二个特征值。所以,先要把数据按规定格式整理好。然后开始训练.  

                                    Python下的LibSVM的使用

  第六步,Python接口
    在libsvm-3.20的python文件夹下主要包括了两个文件svm.py和svmutil.py。
       svmutil.py接口主要包括了high-level的函数,这些函数的使用和LIBSVM的MATLAB接口大体类似
       svmutil中主要包含了以下几个函数:
       svm_train()        : train an SVM model
       svm_predict()      : predict testing data
       svm_read_problem() : read the data from a LIBSVM-format file.
       svm_load_model()   : load a LIBSVM model.
       svm_save_model()   : save model to a file.
       evaluations()      : evaluate prediction results.

    svm.py接口主要包括了一些low-level的应用。在svm.py中采用了 python内置的ctypes库,由此python可以直接访问svm.h中定义的C结构和接口函数。svm.py主要运用了四个数据结构 svm_node, svm_problem, svm_parameter和svm_model。  

  参考博文:http://blog.chinaunix.net/uid-22414998-id-4175203.html,再此感谢。