资源简介

Libsvm参数实例详解,里面包含一个pdf文档用于对libsvm每一个参数的具体讲解,还有两个具体的程序实例,通过本资源的学习可以掌握libsvm参数的设置。

资源截图

代码片段和文件信息

%% Use_precomputed_kernelForLibsvm_example
% faruto
% last modified by 2011.07.07
%%
tic;
clear;
clc;
close all;
format compact;
%%
load heart_scale.mat;
% Split Data
train_data = heart_scale_inst(1:150:);
train_label = heart_scale_label(1:150:);
test_data = heart_scale_inst(151:270:);
test_label = heart_scale_label(151:270:);

%% Linear Kernel
model_linear = svmtrain(train_label train_data ‘-t 0‘);
[predict_label_L accuracy_L dec_values_L] = svmpredict(test_label test_data model_linear);

%% Precomputed Kernel One
% 使用的核函数 K(xx‘) = (x * x‘)
% 核矩阵
ktrain1 = train_data*train_data‘;
Ktrain1 = [(1:150)‘ktrain1];
model_precomputed1 = svmtrain(train_label Ktrain1 ‘-t 4‘);
ktest1 = test_data*train_data‘;
Ktest1 = [(1:120)‘ ktest1];
[predict_label_P1 accuracy_P1 dec_values_P1] = svmpredict(test_label Ktest1 model_precomputed1);

%% Precomputed Kernel Two
% 使用的核函数 K(xx‘) = ||x|| * ||x‘||
% 核矩阵
ktrain2 = ones(150150);
for i = 1:150
    for j = 1:150
        ktrain2(ij) = sum(train_data(i:).^2)^0.5 * sum(train_data(j:).^2)^0.5;
    end
end
Ktrain2 = [(1:150)‘ktrain2];
model_precomputed2 = svmtrain(train_label Ktrain2 ‘-t 4‘);

ktest2 = ones(120150);
for i = 1:120
    for j = 1:150
        ktest2(ij) = sum(test_data(i:).^2)^0.5 * sum(train_data(j:).^2)^0.5;
    end
end
Ktest2 = [(1:120)‘ ktest2];
[predict_label_P2 accuracy_P2 dec_values_P2] = svmpredict(test_label Ktest2 model_precomputed2);
%% Precomputed Kernel Three
% 使用的核函数 K(xx‘) = (x * x‘) / ||x|| * ||x‘||
% 核矩阵
ktrain3 = ones(150150);
for i = 1:150
    for j = 1:150
        ktrain3(ij) = ...
        train_data(i:)*train_data(j:)‘/(sum(train_data(i:).^2)^0.5 * sum(train_data(j:).^2)^0.5);
    end
end
Ktrain3 = [(1:150)‘ktrain3];
model_precomputed3 = svmtrain(train_label Ktrain3 ‘-t 4‘);

ktest3 = ones(120150);
for i = 1:120
    for j = 1:150
        ktest3(ij) = ...
        test_data(i:)*train_data(j:)‘/(sum(test_data(i:).^2)^0.5 * sum(train_data(j:).^2)^0.5);
    end
end
Ktest3 = [(1:120)‘ ktest3];
[predict_label_P3 accuracy_P3 dec_values_P3] = svmpredict(test_label Ktest3 model_precomputed3);


%% Display the accuracy
accuracyL = accuracy_L(1) % Display the accuracy using linear kernel
accuracyP1 = accuracy_P1(1) % Display the accuracy using precomputed kernel One
accuracyP2 = accuracy_P2(1) % Display the accuracy using precomputed kernel Two
accuracyP3 = accuracy_P3(1) % Display the accuracy using precomputed kernel Three
%%
toc;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    1198359  2011-07-07 14:18  Libsvm参数实例详解(《Learn SVM Step by Step》by faruto2011系列视频-应用篇).pdf

     文件       2587  2011-07-07 13:21  Use_precomputed_kernelForLibsvm_example.m

     文件        811  2011-07-07 14:09  wiAndv_example.m

----------- ---------  ---------- -----  ----

              1201757                    3


评论

共有 条评论