1. 程式人生 > >學習筆記24—win10環境下python版libsvm的安裝

學習筆記24—win10環境下python版libsvm的安裝

1.前言

由於畢業設計需要用到libsvm,所以最近專心於配置libsvm,曾經嘗試過在matlab中安裝,但是沒有成功。最終在Python環境中完成安裝。

2.LIBSVM介紹

LIBSVM 是臺灣大學林智仁(Lin Chih-Jen)教授等開發設計的一個操作簡單、易於使用、快速有效的 SVM 軟體包。可以解決分類問題(包括 C-SVC、n-SVC )、迴歸問題(包括 e-SVR、n-SVR )以及分佈估計(one-class-SVM)等問題,提供了線性、多項式、徑向基和 S 形函式四種常用的核函式供選擇,可以有效地解決多類問題、交叉驗證選擇引數、對不平衡樣本加權、多類問題的概率估計等。LIBSVM 不但提供了編譯好的 Windows 系統執行檔案,還提供了原始碼,方便改進、修改以及在其它作業系統上應用。LIBSVM 最大的特點就是對 SVM 所涉及的引數調節相對比較少,提供了很多的預設引數,因而使用起來非常方便。SVM 用於模式識別或迴歸時, SVM 方法及其引數、核函式及其引數的選擇,目前國際上還沒有形成一個統一的模式, 也就是說最優 SVM 演算法引數選擇還只能是憑藉經驗、實驗對比、大範圍的搜尋或者利用軟體包提供的互動檢驗功能進行尋優的功能。
LIBSVM 可以在

http://www.csie.ntu.edu.tw/~cjlin/libsvm/index.html#download 處免費獲得。

3.LIBSVM的安裝

3.1 下載libsvm安裝包

下載地址:http://www.csie.ntu.edu.tw/~cjlin/libsvm/index.html#download
將下載好的libsvm進行解壓,解壓到適當的資料夾中,本人解壓到了:D:\libsvm-3.22中。

3.2 對libsvm.dll進行適配處理

1.本人電腦使用的是win10 64位系統,python使用的是Python3.6.3(anaconda 3 5.0.1 64bit)版本,並且沒有安裝VS。所以到Python的一些網站上下載對應版本的libsvm。下載地址:

http://www.lfd.uci.edu/~gohlke/pythonlibs/#scikit-umfpack
2.由於本人python版本是3.6.3,作業系統是64位的,所以下載對應的libsvm為libsvm-3.22-cp36-cp36m-win_amd64.whl。
3.開啟anaconda prompt,進入檔案所在路徑,使用pip安裝libsvm-3.22-cp36-cp36m-win_amd64.whl。

pip install libsvm-3.22-cp36-cp36m-win_amd64.whl

4.安裝成功後進入python目錄下的一個資料夾site-packages下找到新生成的libsvm.dll。將其放置到C:\windows\system32。

3.3 配置path環境變數

將解壓的libsvm資料夾下的tools和windows所在的路徑D:\libsvm-3.22\tools和D:\libsvm-3.22\windows新增到path的環境變數中。

3.4 安裝gnuplot

由於許多步驟需要呼叫 gnuplot 來繪製圖形,所以首先需要安裝 gnuplot。
下載地址: https://sourceforge.net/projects/gnuplot/files/gnuplot/
安裝預設安裝即可。記住安裝路徑,本人安裝路徑為D:\Program Files\gnuplot

3.5 修改easy.py和grid.py

在tools資料夾中的兩個檔案easy.py和grid.py中,有關gnuplot對應的路徑需要更改。
在easy.py中設定

gnuplot_exe = r"D:\Program Files\gnuplot\bin\gnuplot.exe"

在grid.py中設定

self.gnuplot_pathname = r'D:\Program Files\gnuplot\bin\gnuplot.exe'

至此,Python版LIBSVM安裝成功。

4.LIBSVM的簡單使用

>>> import os
>>> os.chdir('D:\libsvm-3.22\python') >>> from svmutil import * >>> y,x=svm_read_problem('../heart_scale') >>>m=svm_train(y[:200],x[:200],'-c 4') >>> p_label,p_acc,p_val=svm_predict(y[200:],x[200:],m)

參考連結:
http://baijiahao.baidu.com/s?id=1580049402237436090
http://xiaosheng.me/2016/06/06/article15/
http://blog.csdn.net/lqhbupt/article/details/8599295

轉載來源:https://www.cnblogs.com/bbn0111/p/8318629.html

 

 

1.前言

由於畢業設計需要用到libsvm,所以最近專心於配置libsvm,曾經嘗試過在matlab中安裝,但是沒有成功。最終在Python環境中完成安裝。

2.LIBSVM介紹

LIBSVM 是臺灣大學林智仁(Lin Chih-Jen)教授等開發設計的一個操作簡單、易於使用、快速有效的 SVM 軟體包。可以解決分類問題(包括 C-SVC、n-SVC )、迴歸問題(包括 e-SVR、n-SVR )以及分佈估計(one-class-SVM)等問題,提供了線性、多項式、徑向基和 S 形函式四種常用的核函式供選擇,可以有效地解決多類問題、交叉驗證選擇引數、對不平衡樣本加權、多類問題的概率估計等。LIBSVM 不但提供了編譯好的 Windows 系統執行檔案,還提供了原始碼,方便改進、修改以及在其它作業系統上應用。LIBSVM 最大的特點就是對 SVM 所涉及的引數調節相對比較少,提供了很多的預設引數,因而使用起來非常方便。SVM 用於模式識別或迴歸時, SVM 方法及其引數、核函式及其引數的選擇,目前國際上還沒有形成一個統一的模式, 也就是說最優 SVM 演算法引數選擇還只能是憑藉經驗、實驗對比、大範圍的搜尋或者利用軟體包提供的互動檢驗功能進行尋優的功能。
LIBSVM 可以在 http://www.csie.ntu.edu.tw/~cjlin/libsvm/index.html#download 處免費獲得。

3.LIBSVM的安裝

3.1 下載libsvm安裝包

下載地址:http://www.csie.ntu.edu.tw/~cjlin/libsvm/index.html#download
將下載好的libsvm進行解壓,解壓到適當的資料夾中,本人解壓到了:D:\libsvm-3.22中。

3.2 對libsvm.dll進行適配處理

1.本人電腦使用的是win10 64位系統,python使用的是Python3.6.3(anaconda 3 5.0.1 64bit)版本,並且沒有安裝VS。所以到Python的一些網站上下載對應版本的libsvm。下載地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#scikit-umfpack
2.由於本人python版本是3.6.3,作業系統是64位的,所以下載對應的libsvm為libsvm-3.22-cp36-cp36m-win_amd64.whl。
3.開啟anaconda prompt,進入檔案所在路徑,使用pip安裝libsvm-3.22-cp36-cp36m-win_amd64.whl。

pip install libsvm-3.22-cp36-cp36m-win_amd64.whl

4.安裝成功後進入python目錄下的一個資料夾site-packages下找到新生成的libsvm.dll。將其放置到C:\windows\system32。

3.3 配置path環境變數

將解壓的libsvm資料夾下的tools和windows所在的路徑D:\libsvm-3.22\tools和D:\libsvm-3.22\windows新增到path的環境變數中。

3.4 安裝gnuplot

由於許多步驟需要呼叫 gnuplot 來繪製圖形,所以首先需要安裝 gnuplot。
下載地址: https://sourceforge.net/projects/gnuplot/files/gnuplot/
安裝預設安裝即可。記住安裝路徑,本人安裝路徑為D:\Program Files\gnuplot

3.5 修改easy.py和grid.py

在tools資料夾中的兩個檔案easy.py和grid.py中,有關gnuplot對應的路徑需要更改。
在easy.py中設定

gnuplot_exe = r"D:\Program Files\gnuplot\bin\gnuplot.exe"

在grid.py中設定

self.gnuplot_pathname = r'D:\Program Files\gnuplot\bin\gnuplot.exe'

至此,Python版LIBSVM安裝成功。

4.LIBSVM的簡單使用

>>> import os
>>> os.chdir('D:\libsvm-3.22\python') >>> from svmutil import * >>> y,x=svm_read_problem('../heart_scale') >>>m=svm_train(y[:200],x[:200],'-c 4') >>> p_label,p_acc,p_val=svm_predict(y[200:],x[200:],m)

參考連結:
http://baijiahao.baidu.com/s?id=1580049402237436090
http://xiaosheng.me/2016/06/06/article15/
http://blog.csdn.net/lqhbupt/article/details/8599295

轉載來源:https://www.cnblogs.com/bbn0111/p/8318629.html