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

32位的最易配置,哈哈,我的機器就是這麼的古董。64位的童鞋請Google。
第三步,将zip包解壓到一個特定位置,我放到了C:盤根目錄,當然也可以放到program files中。
第四步,就可以測試一下LibSVM是否可用了,打開Python IDE,輸入以下代碼:
能夠看到輸出,84%的分類準确性。
第五步,使用我的個人資料
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.