Python 之 LIBSVM 使用小結(二)

2021-07-04 09:32:07 字數 949 閱讀 6859

網上許多libsvm的python教程中經常會有這樣的例子,但是執行會出現 importerror: no module named svmutil 的報錯。

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

當我執行這個檔案時會報這樣的錯誤

importerror: no module named svmutil。

開始我以為是os.chdir()函式沒有改變當前檔案的目錄,當我把目錄輸出之後發現目錄確實改變了,後來又嘗試讀取了該目錄下的檔案,也讀取成功。此時我迷茫了為什麼我不能svmutil.py這個module引用。

後來發現當我要使用乙個module模組時,需要先將其路徑匯入sys.path中。

sys.path是python的搜尋模組的路徑集,是乙個list。

sys.path是python的搜尋模組的路徑集,主要將自己要使用的模組放入sys.path中就可以了。用法是

import sys

from svmutil import *

就可以了。

同時在idle環境中用os.chdir可以達到相同效果,在python(xy)中暫時還不等效。

Libsvm使用總結

libsvm使用心得 分類,回歸 libsvm是實現svm的便捷開源工具,應用廣泛 除此之外還有lightsvm,沒用過 由國立台灣大學chih chung chang和 chih jen lin編寫,可以實現基於svm的分類和回歸。由於個人對svm的理論只是 略懂 下面只介紹libsvm在win3...

libsvm之核函式

在用svm處理問題時,如果函式線性不可分,希望通過將輸入空間內線性不可分資料對映到乙個高維的特徵空間內使資料在特徵空間內使線性可分的,這個對映記住 x 之後優化問題中內積 i j 這個內積的計算量和維度是成正相關,難度較大,所以引入了核函式 核函式就是乙個對映,實際工作中我們要找到乙個最優的核函式對...

Python環境下安裝libsvm

安裝python 我安裝的是anaconda 將d software libsvm 23 windows路徑新增到系統環境變數中。在libsvm 下有幾個資料夾,要特別關注乙個叫 windows 的,它裡面包括幾個 exe檔案,在我們呼叫時是要發揮作用的 4.將 libsvm 下的python 資料...