zoukankan      html  css  js  c++  java
  • libsvm 的使用

    1. libsvm 支持的SVM模型

    官网地址:LIBSVM – A Library for Support Vector Machines

    libsvm 支持的 SVM 模型如下(C:classification,R:regression):

    • C-SVC(C-support vector classification),
    • nu-SVC(nu-support vector classification),
    • one-class SVM(distribution estimation),
    • epsilon-SVR(epsilon-support vector regression),
    • nu-SVR(nu-support vector regression)

    2. 一个简单demo

    %% 加载数据到内存;
    load heart_scale.mat
    
    X = heart_scale_inst;
    y = heart_scale_label;
    
    N = size(X, 1);
    
    %% 将数据集划分为训练集和测试集
    idx = randperm(N);          % 对全部样本的一次全排列;
    prop = floor( .75*N);
    
    train_X = X(1:prop, :) ;
    test_X = X(prop+1:end, :);
    train_y = y(1:prop, :);
    test_y = y(prop+1:end, :);
    
    %% 通过训练集进行训练
    model = svmtrain(train_y, train_X, '-s 0 -t 2 -c 1.2 -g 2.8')
    % 将训练好的模型作用在训练集,查看准确率情况
    [predicted_labels, accuracy, decision_values] = svmpredict(train_y, train_X, model);
    
    %% 在真实的测试集上进行测试
    predicted_labels = svmpredict(test_y, test_X, model);
    accuracy = sum(predicted_labels == test_y) / length(test_y)
    • svmtrain 参数的意义:
      • -s svm类型:SVM设置类型(默认0)
        % 0 – C-SVC
        % 1 –v-SVC
        %2 – 一类SVM
        %3 – e -SVR
        % 4 – v-SVR
      • -t 核函数类型:核函数设置类型(默认2)
        % 0 – 线性:u’v
        % 1 – 多项式:(r*u’v + coef0)^degree
        % 2 – RBF函数:exp(-r|u-v|^2)
        % 3 –sigmoid:tanh(r*u’v + coef0)
      • -c cost:设置C-SVC,e -SVR和v-SVR的参数(损失函数)(默认1)
      • -g r(gama):核函数中的gamma函数设置(针对多项式/rbf/sigmoid核函数)

    常见问题的解决

  • 相关阅读:
    select&pselect/poll&ppoll/epoll
    软件常见基础问题总结
    FIFO、LRU、OPT这三种置换算法的缺页次数
    Django配置静态文件(CSSjs)及Django调用JS、CSS、图片等静态文件
    Django基础
    Django开发网站(四)
    Django开发网站(二)
    ubuntu1304下安装boa服务器
    Django开发网站(一)
    C语言中的七种排序算法
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9421405.html
Copyright © 2011-2022 走看看