LIMSVM python接口使用说明(1)

2017-10-19  本文已影响0人  Banach_J

1 安装

<span id="1">1</span>
对于linux系统,在github上下载文件,网址:https://github.com/cjlin1/libsvm
在主文件目录下打开terminal,输入sudo make。另外安装gnuplot, 输入sudo apt-get install gnuplot。

2 应用函数

<h2 id="2">
输入>>> from svmutil import *

上述命令导入如下函数

2.1 svm_train

<h2 id="3">
有三种方式调用svm_train()

    >>> model = svm_train(y, x [, 'training_options'])
    >>> model = svm_train(prob [, 'training_options'])
    >>> model = svm_train(prob, param)

参数

-s svm_type : set type of SVM (default 0)
    0 -- C-SVC      (multi-class classification)
    1 -- nu-SVC     (multi-class classification)
    2 -- one-class SVM  
    3 -- epsilon-SVR    (regression)
    4 -- nu-SVR     (regression)
-t kernel_type : set type of kernel function (default 2)
    0 -- linear: u'*v
    1 -- polynomial: (gamma*u'*v + coef0)^degree
    2 -- radial basis function: exp(-gamma*|u-v|^2)
    3 -- sigmoid: tanh(gamma*u'*v + coef0)
    4 -- precomputed kernel (kernel values in training_set_file)
-d degree : set degree in kernel function (default 3)
-g gamma : set gamma in kernel function (default 1/num_features)
-r coef0 : set coef0 in kernel function (default 0)
-c cost : set the parameter C of C-SVC, epsilon-SVR, and nu-SVR (default 1)
-n nu : set the parameter nu of nu-SVC, one-class SVM, and nu-SVR (default 0.5)
-p epsilon : set the epsilon in loss function of epsilon-SVR (default 0.1)
-m cachesize : set cache memory size in MB (default 100)
-e epsilon : set tolerance of termination criterion (default 0.001)
-h shrinking : whether to use the shrinking heuristics, 0 or 1 (default 1)
-b probability_estimates : whether to train a SVC or SVR model for probability estimates, 0 or 1 (default 0)
-wi weight : set the parameter C of class i to weight*C, for C-SVC (default 1)
-v n: n-fold cross validation mode
-q : quiet mode (no outputs)

例子

    >>> prob = svm_problem(y, x)
    >>> param = svm_parameter('-s 3 -c 5 -h 0')
    >>> m = svm_train(y, x, '-c 5')
    >>> m = svm_train(prob, '-t 2 -c 5')
    >>> m = svm_train(prob, param)
    >>> CV_ACC = svm_train(y, x, '-v 3')

2.2 svm_predict

<h2 id="4">

用一个训练好的model预测测试数据,使用:
>>> p_labs, p_acc, p_vals = svm_predict(y, x, model [,'predicting_options'])

参数

例子

    >>> p_labels, p_acc, p_vals = svm_predict(y, x, m)

2.3 svm_read_problem/svm_load_model/svm_save_model

<h2 id="5">

    >>> y, x = svm_read_problem('data.txt')
    >>> m = svm_load_model('model_file')
    >>> svm_save_model('model_file', m)

2.4 evaluations

<h2 id="6">
评价分类结果
>>> (ACC, MSE, SCC) = evaluations(ty, pv)

参数

上一篇下一篇

猜你喜欢

热点阅读