Ⅰ 如何加速基於python的libsvm速度
if not is_win32: svmtrain_exe = "../svm-train" gnuplot_exe = "/usr/bin/gnuplot" else: gnuplot_exe = "/usr/bin/gnuplot"這一行少了一個TAB鍵。建設你把所有行前面的空格跟TAB刪除後重新打上空格或TAB鍵。
Ⅱ 如何利用python使用libsvm
准備工具
libsvm軟體包;
電腦;
步驟操作
把包解壓在C盤之中,如:C:libsvm-3.18;
用libsvm自帶的腳本grid.py和easy.py,需要去官網下載繪圖工具gnuplot,解壓到c盤;
進入c:libsvm ools目錄下,用文本編輯器(記事本,edit都可以)修改grid.py和easy.py兩個文件,找到其中關於gnuplot路徑的那項,根據實際路徑進行修改,並保存;
Ⅲ python下使用libsvm能處理數據格式為復數(complex)的數據嗎
毋庸置疑,LibSVM是台灣牛人為世界機器學習的卓越貢獻之一。一般都是基於Matlab的,其實LibSVM也可以用Python跑。
第一步,確定本機Python的版本:
32位的最易配置,哈哈,我的機器就是這么的古董。64位的童鞋請Google。
第二步,到官網http://www.csie.ntu.e.tw/~cjlin/libsvm/,來下載LibSVM軟體包,我選擇的是zip包。
第三步,將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.
Ⅳ matlab 下用libsvm 數據導入之後,導致准確率很低。但是在python下運行准確率很高。謝謝!
這個問題挺復雜的。 表面上看是libsvm導入出錯了。
但是還有另外一個原因,就是數據的格式不太對。 解析出錯了。
第三個原因就是python里計算的精度比較高。 而藉助了libsvm後數據的精度變低了。
你說的准確率應該是演算法結果的准確率。 按理,數據導入時精度變低應該影響不大。
所以很大可能是數據導入錯誤,或者是演算法錯誤。
Ⅳ 如何利用python使用libsvm
把包解壓在C盤之中,如:C:\libsvm-3.182.
因為要用libsvm自帶的腳本grid.py和easy.py,需要去官網下載繪圖工具gnuplot,解壓到c盤.進入c:\libsvm\tools目錄下,用文本編輯器(記事本,edit都可以)修改grid.py和easy.py兩個文件,找到其中關於gnuplot路徑的那項,根據實際路徑進行修改,並保存
python與libsvm的連接(參考SVM學習筆記(2)LIBSVM在python下的使用)
1.打開IDLE(pythonGUI),輸入>>>importsys>>>sys.version
2.如果你的python是32位,將出現如下字元:
(default,Apr102012,23:31:26)[MSCv.150032bit(Intel)]』
這個時候LIBSVM的python介面設置將非常簡單。在libsvm-3.16文件夾下的windows文件夾中找到動態鏈接庫libsvm.dll,將其添加到系統目錄,如`C:\WINDOWS\system32\』,即可在python中使用libsvm
wk_ad_begin({pid : 21});wk_ad_after(21, function(){$('.ad-hidden').hide();}, function(){$('.ad-hidden').show();});
3.執行一個小例子
importos
os.chdir('C:\libsvm-3.18\python')#請根據實際路徑修改
fromsvmutilimport*
y,x=svm_read_problem('../heart_scale')#讀取自帶數據
m=svm_train(y[:200],x[:200],'-c4')
p_label,p_acc,p_val=svm_predict(y[200:],x[200:],m)
##出現如下結果,應該是正確安裝了optimizationfinished,#iter=257nu=0.351161
obj=-225.628984,rho=0.636110nSV=91,nBSV=49
TotalnSV=91
Accuracy=84.2857%(59/70)(classification)