天天看點

Python下的LibSVM的使用

   毋庸置疑,LibSVM是台灣牛人為世界機器學習的卓越貢獻之一。一般都是基于Matlab的,其實LibSVM也可以用Python跑。

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

Python下的LibSVM的使用

   32位的最易配置,哈哈,我的機器就是這麼的古董。64位的童鞋請Google。

Python下的LibSVM的使用

   第三步,将zip包解壓到一個特定位置,我放到了C:盤根目錄,當然也可以放到program files中。

Python下的LibSVM的使用

   第四步,就可以測試一下LibSVM是否可用了,打開Python IDE,輸入以下代碼:

Python下的LibSVM的使用

   能夠看到輸出,84%的分類準确性。

    第五步,使用我的個人資料

   libsvm的資料格式如下:

Python下的LibSVM的使用

   第一列代表标簽,第二列是第一個特征值,第三列是第二個特征值。是以,先要把資料按規定格式整理好。然後開始訓練。

import os

import sys

os.chdir('C:\libsvm-3.17\python')

from svmutil import *

y, x = svm_read_problem('../lkagain.txt')

m = svm_train(y[:275], x[:275], '-c 5')

y, x = svm_read_problem('../lk2.txt')

p_label, p_acc, p_val = svm_predict(y[0:], x[0:], m)

print p_label

print p_acc

print p_val

   第六步,Python接口

   在libsvm-3.16的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.

繼續閱讀