搜档网
当前位置:搜档网 › LibSVM笔记系列——如何提升LibSVM分类效果

LibSVM笔记系列——如何提升LibSVM分类效果

LibSVM笔记系列——如何提升LibSVM分类效果
LibSVM笔记系列——如何提升LibSVM分类效果

LibSVM笔记系列——如何提升LibSVM分类效果

时间 2013-07-18 20:30:37 CSDN博客原文https://www.sodocs.net/doc/7311821017.html,/xiahouzuoxin/article/details/9372805

=============================================================================== 1. 'svm-scale'的使用

===================================================================== ==========

[monkeyzx@CentOS libsvm-3.14]$ ./svm-scale

Usage: svm-scale [options] data_filename

options:

-l lower : x scaling lower limit (default -1)

-u upper : x scaling upper limit (default +1)

-y y_lower y_upper : y scaling limits (default: no y scaling)

-s save_filename : save scaling parameters to save_filename

-r restore_filename : restore scaling parameters from restore_filename

自己使用matlab写的归一化函数为

function x = scale(x, bound, col)

% bound:: [bmin bmax]

% x :: input matrix

if nargin < 3

col = 0;

end

bmin = bound(1);

bmax = bound(2);

if col == 0

for i = 1:size(x,1)

xmin = min(x(i,:));

xmax = max(x(i,:));

x(i,:) = bmin + (bmax-bmin) * ((x(i,:)-xmin) / (xmax-xmin));

end

else

for i = 1:size(x,2)

xmin = min(x(:,i));

xmax = max(x(:,i));

x(:,i) = bmin + (bmax-bmin) * ((x(:,i)-xmin) / (xmax-xmin));

end

end

end

=====================================================================

==========

2. 实际使用LibSVM的步骤

=========================================================== ====================

为提高实际分类的精度和泛化能力,希望在使用LibSVM时至少按照以下步骤考虑:

(1)对数据归一化,如果数据都为正数则一般归一到[0,1],否则一般归一到[-1,1]

(2)在没特殊要求前提下,考虑使用RBF核函数K(x,y)=exp{-gamma|x-y|^2}

(3)在训练时使用交叉验证,并使用GirdSearch寻找最佳的参数C 和gamma

(4)尽量对训练集数据集整体训练

(5)使用测试数据测试模型的分类效果

===================================================================== ==========

3. 关于交叉验证(CrossValidation,简称CV)

=========================================================== ====================

CV是用来验证分类器的性能一种统计分析方法,基本思想是把在某种意义下将原始数据(dataset)进行分组,一部分做为训练集(train set),另一部分做为验证集(validation set),首先用训练集对分类器进行训练,在利用验证集来测试训练得到的模型(model),以此来做为评价分类器的

性能指标.

常见的交叉验证方法有:

1).Hold-Out Method

将原始数据随机分为两组,一组做为训练集,一组做为验证集,利用训练集训练分类器,然后利用验证集验证模型,记录最后的分类准确率为此Hold-OutMethod下分类器的性能指标.此种方法的好处的处理简单,只需随机把原始数据分为两组即可,其实严格意义来说Hold-Out Method并不能算是CV,因为这种方法没有达到交叉的思想,由于是随机的将原始数据分组,所以最后验证集分类准确率的高低与原始数据的分组有很大的关系,所以这种方法得到的结果其实并不具有说服性.

2).K-fold Cross Validation(记为K-CV)

将原始数据分成K组(一般是均分),将每个子集数据分别做一次验证集,其余的K-1组子集数据作为训练集,这样会得到K个模型,用这K个模型最终的验证集的分类准确率的平均数作为此K-CV下分类器的性能指标.K一般大于等于2,实际操作时一般从3开始取,只有在原始数据集合数据量小的时候才会尝试取2.K-CV可以有效的避免过学习以及欠学习状态的发生,最后得到的结果也比较具有说服性.

3).Leave-One-Out Cross Validation(记为LOO-CV)

如果设原始数据有N个样本,那么LOO-CV就是N-CV,即每个样本单独作为验证集,其余的N-1个样本作为训练集,所以LOO-CV会得到N个模型,用这N个模型最终的验证集的分类准确率的平均数作为此下LOO-CV分类器的性能指标.相比于前面的K-CV,LOO-CV有两个明显的优点:

a.每一回合中几乎所有的样本皆用于训练模型,因此最接近原始样本的分布,这样评估所得的结果比较可靠。

b.实验过程中没有随机因素会影响实验数据,确保实验过程是可以被复制的。

但LOO-CV的缺点则是计算成本高,因为需要建立的模型数量与原始数据样本数量相同,当原始数据样本数量相当多时,LOO-CV在实作上便有困难几乎就是不显示,除非每次训练分类器得到模型的速度很快,或是可以用并行化计算减少计

算所需的时间.

在LibSVM中,可以通过设置svm-train的-v参数设置交叉验证,-v表示交叉验证的分组数。

===================================================================== ==========

4. 关于GridSearch

===================================================================== ==========

在使用RBF核函数的情况下,一般需要优化的参数有:C和gamma。C是惩罚系数,C太小,容易发生过拟合,C太大,拟合的结果和实际结果相差太大;gamma是RBF的系数,gamma的取值直接影响到能否找到一个能将多类数据分开的最优超平面。因此,建议在交叉验证过程中使用简单的GridSearch算法找到最佳的C和gamma。

一般情况下不推荐使用遗传算法或粒子群优化算法,因为这些算法相对复杂,而且耗时又不一定能找到全局最优解,相对而言,GirdSearch 简单也一般能找到一个恰当的解。

在使用GridSearch时,一般使用对数格点。

E.g.:v=5 C=2^(?5),2^(?3),..., 2^15 , gamma = 2^(?15),2^(?13),...,2^13

一个在matlab上实现GridSearch的函数如下:

function [bestacc bestc bestg] = svm_girdsearch(label, data, ...

cbound, gbound, cgstep, svm_cmd, v, opts_t, ker_func)

% cmin:cstep:cmax :: cost

% gmin:gstep:gmax :: gamma

% v :: cross validation n, default 5

% t :: '-t' for svmtrain

% ker_func :: function handle, used only if opts_t==4

% ker_func(tr_data, gamma)

if nargin < 8

opts_t = 2;

elseif opts_t == 4 && nargin < 9

error('none of @ker_func.\n');

end

if nargin < 7

v = 5;

end

if nargin < 6

svm_cmd = '';

end

if nargin < 5

cstep = 0.8;

gstep = 0.8;

else

cstep = cgstep(1);

gstep = cgstep(2);

end

if nargin < 4

gmax = 8;

gmin = -8;

else

gmax = gbound(2);

gmin = gbound(1);

end

if nargin < 3

cmax = 8;

cmin = -8;

else

cmax = cbound(2);

cmin = cbound(1);

end

[C, G] = meshgrid(cmin:cstep:cmax, gmin:gstep:gmax);

[m n] = size(C);

acc = zeros(m,n);

eps = 10^(-2);

basenum = 2;

bestacc = 0;

bestc = 1;

bestg = 0.1;

for i = 1:m

for j = 1:n

tmp_gamma = basenum^G(i,j);

tmp_C = basenum^C(i,j);

cmd = [svm_cmd, ' -c ',num2str(tmp_C), ' -g ',...

num2str(tmp_gamma), ' -t ', num2str(opts_t), ' -q '];

if opts_t ~= 4

acc(i,j) = cross_validation(label, data, cmd, v, 'svmtrain'); // 交叉验证函数(自己写的)

else

ker = ker_func(data, basenum^G(i,j)); // 自定义核函数时,这里不用太关注

acc(i,j) = cross_validation(label, ker, cmd, v, 'svmtrain');

end

if acc(i,j) > bestacc

bestacc = acc(i,j);

bestg = tmp_gamma;

bestc = tmp_C;

end

% 当精度差别不大时,选择C值小的一组参数值

if abs(bestacc - acc(i,j)) < eps && tmp_C < bestc

bestacc = acc(i,j);

bestg = tmp_gamma;

bestc = tmp_C;

end

fprintf('cross validation (g=%s,C=%s) finished %d%%.\n', ...

num2str(tmp_gamma), num2str(tmp_C), floor(100*(i*n+j)/(m*n)) );

end

end

% plot relationship bwtween g/c and acc

figure;

meshc(C,G,acc);

axis([cmin,cmax,gmin,gmax,30,100]);

xlabel('log2c','FontSize',10);

ylabel('log2g','FontSize',10);

zlabel('Accuracy(%)','FontSize',10);

firstline = '[GridSearchMethod]';

secondline = ['Best c=',num2str(bestc),' g=',num2str(bestg), ...

' CVAccuracy=',num2str(bestacc),'%'];

title({firstline;secondline},'Fontsize',10);

end

===================================================================== ==========

5. 非平衡数据

===================================================================== ==========

按照支持向量机使用超平面分类的原理,不平衡数据不会对超平面造成影响,但不平衡样本数据会对惩罚项产生影响。因此,在使用非平衡数据时可以使用LibSVM的-w选项平衡惩罚系数。

还有一种方式:选择另一种精度评估函数(LibSVM中使用测试样本中正确分类的样本数与总测试样本数的比值作为分类精度结果),详细参考LibSVM源码目录下的FAQ.html.

===================================================================== ==========

6. 自定义核函数(转自https://www.sodocs.net/doc/7311821017.html,/forum.php?mod=viewthread&tid=15296)

===================================================================== ==========

使用libsvm工具箱时,可以指定使用工具箱自带的一些核函数(-t参数),主要有:

-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)

但有时我们需要使用自己的核函数,这时候可以用-t 4参数来实现:

-t kernel_type : set type of kernel function (default 2)

4 -- precomputed kernel (kernel values in training_instance_matrix)

使用-t 4参数时,再有了核函数后,需要给出核矩阵,关于核函数以及核函数构造相关的知识,大家可以看看相关书籍,在此不特别深入说明。

比如线性核函数是K(x,x') = (x * x'),设训练集是train_data,设训练集有150个样本, 测试集是test_data,设测试集有120个样本

则训练集的核矩阵是ktrain1 = train_data*train_data'

测试集的核矩阵是ktest1 = test_data*train_data'

想要使用-t 4参数还需要把样本的序列号放在核矩阵前面,形成一个新的矩阵,然后使用svmtrain建立支持向量机,再使用svmpredict进行预测即可。形式与使用其他-t参数少有不同,如下:

ktrain1 = train_data*train_data';

Ktrain1 = [(1:150)',ktrain1];

model_precomputed1 = svmtrain(train_label, Ktrain1, '-t 4'); % 注意此处的输入Ktrain1

ktest1 = test_data*train_data';

Ktest1 = [(1:120)', ktest1];

[predict_label_P1, accuracy_P1, dec_values_P1] = svmpredict(test_label,Ktest1,model_precomputed1); % 注意此处输入Ktest1

下面是一个整体的小例子,大家可以看一下:

%% Use_precomputed_kernelForLibsvm_example

% faruto

% last modified by 2011.04.20

%%

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(x,x') = (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(x,x') = ||x|| * ||x'||

% 核矩阵

ktrain2 = ones(150,150);

for i = 1:150

for j = 1:150

ktrain2(i,j) = 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(120,150);

for i = 1:120

for j = 1:150

ktest2(i,j) = 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(x,x') = (x * x') / ||x|| * ||x'||

% 核矩阵

ktrain3 = ones(150,150);

for i = 1:150

for j = 1:150

ktrain3(i,j) = ...

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(120,150);

for i = 1:120

for j = 1:150

ktest3(i,j) = ...

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;

运行结果:

Accuracy = 85% (102/120) (classification)

Accuracy = 85% (102/120) (classification)

Accuracy = 67.5% (81/120) (classification)

Accuracy = 84.1667% (101/120) (classification)

accuracyL =

85

accuracyP1 =

85

accuracyP2 =

67.5000

accuracyP3 =

84.1667

Elapsed time is 1.424549 seconds.

关于核函数这里多说一下,核函数的正确选取依赖产生分类问题的实际问题的特点,因为不同的实际问题对相似程度有着不同的度量,核函数可以看作一个特征提取的过程,选择正确的核函数有助于提高分类准确率。

核函数的构造可以直接构造,也可以通过变换来得到。

Refrences:

1. 林智仁的SVM使用方法讲义:https://www.sodocs.net/doc/7311821017.html,/detail/xiahouzuoxin/5778941

MATALB中SVM工具箱快速入手简易教程(常出现的错误解决办法)

MATALB中SVM工具箱快速入手简易教程(常出现的错误解决办法) ——胡matlab 自带的函数(matlab帮助文件里的例子)[只 有较新版本的matlab中有这两个SVM的函数] (本人使用的是2012版本) svmtrain svmclassify =====简要语法规则==== svmtrain Train support vector machine classifier Syntax SVMStruct = svmtrain(Training, Group) SVMStruct = svmtrain(..., 'Kernel_Function', Kernel_FunctionValue, ...) SVMStruct = svmtrain(..., 'RBF_Sigma', RBFSigmaValue, ...) SVMStruct = svmtrain(..., 'Polyorder', PolyorderValue, ...) SVMStruct = svmtrain(..., 'Mlp_Params', Mlp_ParamsValue, ...) SVMStruct = svmtrain(..., 'Method', MethodValue, ...) SVMStruct = svmtrain(..., 'QuadProg_Opts', QuadProg_OptsValue, ...) SVMStruct = svmtrain(..., 'SMO_Opts', SMO_OptsValue, ...) SVMStruct = svmtrain(..., 'BoxConstraint', BoxConstraintValue, ...) SVMStruct = svmtrain(..., 'Autoscale', AutoscaleValue, ...) SVMStruct = svmtrain(..., 'Showplot', ShowplotValue, ...) --------------------- svmclassify Classify data using support vector machine Syntax Group = svmclassify(SVMStruct, Sample) Group = svmclassify(SVMStruct, Sample, 'Showplot', ShowplotValue)

数据挖掘实验报告资料

大数据理论与技术读书报告 -----K最近邻分类算法 指导老师: 陈莉 学生姓名: 李阳帆 学号: 201531467 专业: 计算机技术 日期 :2016年8月31日

摘要 数据挖掘是机器学习领域内广泛研究的知识领域,是将人工智能技术和数据库技术紧密结合,让计算机帮助人们从庞大的数据中智能地、自动地提取出有价值的知识模式,以满足人们不同应用的需要。K 近邻算法(KNN)是基于统计的分类方法,是大数据理论与分析的分类算法中比较常用的一种方法。该算法具有直观、无需先验统计知识、无师学习等特点,目前已经成为数据挖掘技术的理论和应用研究方法之一。本文主要研究了K 近邻分类算法,首先简要地介绍了数据挖掘中的各种分类算法,详细地阐述了K 近邻算法的基本原理和应用领域,最后在matlab环境里仿真实现,并对实验结果进行分析,提出了改进的方法。 关键词:K 近邻,聚类算法,权重,复杂度,准确度

1.引言 (1) 2.研究目的与意义 (1) 3.算法思想 (2) 4.算法实现 (2) 4.1 参数设置 (2) 4.2数据集 (2) 4.3实验步骤 (3) 4.4实验结果与分析 (3) 5.总结与反思 (4) 附件1 (6)

1.引言 随着数据库技术的飞速发展,人工智能领域的一个分支—— 机器学习的研究自 20 世纪 50 年代开始以来也取得了很大进展。用数据库管理系统来存储数据,用机器学习的方法来分析数据,挖掘大量数据背后的知识,这两者的结合促成了数据库中的知识发现(Knowledge Discovery in Databases,简记 KDD)的产生,也称作数据挖掘(Data Ming,简记 DM)。 数据挖掘是信息技术自然演化的结果。信息技术的发展大致可以描述为如下的过程:初期的是简单的数据收集和数据库的构造;后来发展到对数据的管理,包括:数据存储、检索以及数据库事务处理;再后来发展到对数据的分析和理解, 这时候出现了数据仓库技术和数据挖掘技术。数据挖掘是涉及数据库和人工智能等学科的一门当前相当活跃的研究领域。 数据挖掘是机器学习领域内广泛研究的知识领域,是将人工智能技术和数据库技术紧密结合,让计算机帮助人们从庞大的数据中智能地、自动地抽取出有价值的知识模式,以满足人们不同应用的需要[1]。目前,数据挖掘已经成为一个具有迫切实现需要的很有前途的热点研究课题。 2.研究目的与意义 近邻方法是在一组历史数据记录中寻找一个或者若干个与当前记录最相似的历史纪录的已知特征值来预测当前记录的未知或遗失特征值[14]。近邻方法是数据挖掘分类算法中比较常用的一种方法。K 近邻算法(简称 KNN)是基于统计的分类方法[15]。KNN 分类算法根据待识样本在特征空间中 K 个最近邻样本中的多数样本的类别来进行分类,因此具有直观、无需先验统计知识、无师学习等特点,从而成为非参数分类的一种重要方法。 大多数分类方法是基于向量空间模型的。当前在分类方法中,对任意两个向量: x= ) ,..., , ( 2 1x x x n和) ,..., , (' ' 2 ' 1 'x x x x n 存在 3 种最通用的距离度量:欧氏距离、余弦距 离[16]和内积[17]。有两种常用的分类策略:一种是计算待分类向量到所有训练集中的向量间的距离:如 K 近邻选择K个距离最小的向量然后进行综合,以决定其类别。另一种是用训练集中的向量构成类别向量,仅计算待分类向量到所有类别向量的距离,选择一个距离最小的类别向量决定类别的归属。很明显,距离计算在分类中起关键作用。由于以上 3 种距离度量不涉及向量的特征之间的关系,这使得距离的计算不精确,从而影响分类的效果。

校园植物种类调查实验报告

校园植物种类调查实验报告 一、目的要求 1.通过本实验使学生熟悉观察、研究区域植物及其分类的基本方法。 2.认识校园内外的常见植物。 二、材料用品 照相机、铅笔、笔记本、检索表等。 三、调查方法 实地调查、实物标本、查阅资料、访谈、小组讨论。 1、实地调查:小组成员分工参观并初步认识校园内植物,拍照,做好记录,将不认识的植物重点记录、做记号。 2、采集标本:采集植物的叶片、枝条或花朵等特征部分,压制做成植物标本。 3、采访讨教:带着植物照片及植物标本向教师或学校花工师傅请教,弄清植物的名称、特性。 4、查阅资料:到图书馆或利用网络查阅相关植物的资料,获取各种植物的详细信息。 5、整理资料:集中、收集所有成员的资料,对资料进行全面整理、筛选、分类。 6、实验报告:将资料、图片打印,汇集成实验报告。 7、制作PPT:用演示文稿形式,记录和呈现我们的探究过程,分享我们的研究心得。 三、调查内容 (一) 校园和公园植物形态特征的观察

植物种类的识别、鉴定必须在严谨、细致的观察研究后进行。在对植物进行观察研究时,首先要观察清楚每一种植物的生长环境,然后再观察植物具体的形态结构特征。植物形态特征的观察应起始于根(或茎基部),结束于花、果实或种子。先用眼睛进行整体观察,细微、重要部分再借助放大镜观察。特别是对花的观察、研究要极为细致、全面,从花柄开始,通过花萼、花冠、雄蕊,最后到雌蕊。必要时要对花进行解剖,分别作横切和纵切,观察花各部分的排列情况、子房的位置、组成雌蕊的心皮数目、子房室数及胎座类型等。只有这样,才能全面、系统地掌握植物的详细特征,才能正确、快速地识别和区分植物。 (二)植物种类的识别和鉴定 在对植物观察清楚的基础上,识别、鉴定植物就会变得很容易。对校园内外特征明显、自己又很熟悉的植物,确认无疑后可直接写下名称;生疏种类须借助于植物检索表等工具书进行检索、识别。 在把区域内的所有植物鉴定、统计后,写出名录并把各植物归属到科。 (三)植物的归纳分类 在对校园内外的植物进行识别、统计后,为了全面了解、掌握园内的植物资源情况,还须对它们进行归纳分类。分类的方式可根据自己的研究兴趣和植物具体情况进行选择。对植物进行归纳分类时要学会充分利用有关的参考文献。下面是几种常见的植物归纳分类方式。 1.按植物形态特征分类木本植物、乔木、灌木、木质藤本、草本植、一年生草本、二年生草本、多年生草本 2.按植物系统分类:苔藓植物、蕨类植物、裸子植物、被子植物、双子叶植物、单子叶植物

大数据挖掘weka大数据分类实验报告材料

一、实验目的 使用数据挖掘中的分类算法,对数据集进行分类训练并测试。应用不同的分类算法,比较他们之间的不同。与此同时了解Weka平台的基本功能与使用方法。 二、实验环境 实验采用Weka 平台,数据使用Weka安装目录下data文件夹下的默认数据集iris.arff。 Weka是怀卡托智能分析系统的缩写,该系统由新西兰怀卡托大学开发。Weka使用Java 写成的,并且限制在GNU通用公共证书的条件下发布。它可以运行于几乎所有操作平台,是一款免费的,非商业化的机器学习以及数据挖掘软件。Weka提供了一个统一界面,可结合预处理以及后处理方法,将许多不同的学习算法应用于任何所给的数据集,并评估由不同的学习方案所得出的结果。 三、数据预处理 Weka平台支持ARFF格式和CSV格式的数据。由于本次使用平台自带的ARFF格式数据,所以不存在格式转换的过程。实验所用的ARFF格式数据集如图1所示 图1 ARFF格式数据集(iris.arff)

对于iris数据集,它包含了150个实例(每个分类包含50个实例),共有sepal length、sepal width、petal length、petal width和class五种属性。期中前四种属性为数值类型,class属性为分类属性,表示实例所对应的的类别。该数据集中的全部实例共可分为三类:Iris Setosa、Iris Versicolour和Iris Virginica。 实验数据集中所有的数据都是实验所需的,因此不存在属性筛选的问题。若所采用的数据集中存在大量的与实验无关的属性,则需要使用weka平台的Filter(过滤器)实现属性的筛选。 实验所需的训练集和测试集均为iris.arff。 四、实验过程及结果 应用iris数据集,分别采用LibSVM、C4.5决策树分类器和朴素贝叶斯分类器进行测试和评价,分别在训练数据上训练出分类模型,找出各个模型最优的参数值,并对三个模型进行全面评价比较,得到一个最好的分类模型以及该模型所有设置的最优参数。最后使用这些参数以及训练集和校验集数据一起构造出一个最优分类器,并利用该分类器对测试数据进行预测。 1、LibSVM分类 Weka 平台内部没有集成libSVM分类器,要使用该分类器,需要下载libsvm.jar并导入到Weka中。 用“Explorer”打开数据集“iris.arff”,并在Explorer中将功能面板切换到“Classify”。点“Choose”按钮选择“functions(weka.classifiers.functions.LibSVM)”,选择LibSVM分类算法。 在Test Options 面板中选择Cross-Validatioin folds=10,即十折交叉验证。然后点击“start”按钮:

模式识别第二次上机实验报告

北京科技大学计算机与通信工程学院 模式分类第二次上机实验报告 姓名:XXXXXX 学号:00000000 班级:电信11 时间:2014-04-16

一、实验目的 1.掌握支持向量机(SVM)的原理、核函数类型选择以及核参数选择原则等; 二、实验内容 2.准备好数据,首先要把数据转换成Libsvm软件包要求的数据格式为: label index1:value1 index2:value2 ... 其中对于分类来说label为类标识,指定数据的种类;对于回归来说label为目标值。(我主要要用到回归) Index是从1开始的自然数,value是每一维的特征值。 该过程可以自己使用excel或者编写程序来完成,也可以使用网络上的FormatDataLibsvm.xls来完成。FormatDataLibsvm.xls使用说明: 先将数据按照下列格式存放(注意label放最后面): value1 value2 label value1 value2 label 然后将以上数据粘贴到FormatDataLibsvm.xls中的最左上角单元格,接着工具->宏执行行FormatDataToLibsvm宏。就可以得到libsvm要求的数据格式。将该数据存放到文本文件中进行下一步的处理。 3.对数据进行归一化。 该过程要用到libsvm软件包中的svm-scale.exe Svm-scale用法: 用法:svmscale [-l lower] [-u upper] [-y y_lower y_upper] [-s save_filename] [-r restore_filename] filename (缺省值:lower = -1,upper = 1,没有对y进行缩放)其中,-l:数据下限标记;lower:缩放后数据下限;-u:数据上限标记;upper:缩放后数据上限;-y:是否对目标值同时进行缩放;y_lower为下限值,y_upper为上限值;(回归需要对目标进行缩放,因此该参数可以设定为–y -1 1 )-s save_filename:表示将缩放的规则保存为文件save_filename;-r restore_filename:表示将缩放规则文件restore_filename载入后按此缩放;filename:待缩放的数据文件(要求满足前面所述的格式)。缩放规则文件可以用文本浏览器打开,看到其格式为: y lower upper min max x lower upper index1 min1 max1 index2 min2 max2 其中的lower 与upper 与使用时所设置的lower 与upper 含义相同;index 表示特征序号;min 转换前该特征的最小值;max 转换前该特征的最大值。数据集的缩放结果在此情况下通过DOS窗口输出,当然也可以通过DOS的文件重定向符号“>”将结果另存为指定的文件。该文件中的参数可用于最后面对目标值的反归一化。反归一化的公式为: (Value-lower)*(max-min)/(upper - lower)+lower 其中value为归一化后的值,其他参数与前面介绍的相同。 建议将训练数据集与测试数据集放在同一个文本文件中一起归一化,然后再将归一化结果分成训练集和测试集。 4.训练数据,生成模型。 用法:svmtrain [options] training_set_file [model_file] 其中,options(操作参数):可用的选项即表示的涵义如下所示-s svm类型:设置SVM 类型,默

监督分类实验报告

实验报告题目:监督分类 姓名: 学号: 日期:

一、实验目的 理解计算机图像分类的基本原理以及监督分类的过程,运用ERDAS软件达到能熟练地对遥感图像进行监督分类的目的。 二、监督分类原理 监督分类(supervised classification)又称训练场地法,是以建立统计识别函数为理论基础,依据典型样本训练方法进行分类的技术。即根据已知训练区提供的样本,通过选择特征参数,求出特征参数作为决策规则,建立判别函数以对各待分类影像进行的图像分类,是模式识别的一种方法。要求训练区域具有典型性和代表性。判别准则若满足分类精度要求,则此准则成立;反之,需重新建立分类的决策规则,直至满足分类精度要求为止。 1)平行六面体法 在多波段遥感图像分类过程中,对于被分类的每一个类别,在各个波段维上都要选取一个变差范围的识别窗口,形成一个平行六面体,如果有多个类别,则形成多个平行六边形,所有属于各个类别的多维空间点也分别落入各自的多维平行六面体空间。 2)最小距离法 使用了每个感兴趣区的均值矢量来计算每个未知象元到每一类均值矢量的欧氏距离,除非用户指定了标准差和距离的阈值,否则所有象元都将分类到感兴趣区中最接近的那一类。 3)最大似然法 假定每个波段中的每类的统计都呈现正态分布,并将计算出给定象元都被归到概率最大的哪一类里。 4)马氏距离法 是一个方向灵敏的距离分类器,分类时将使用到统计信息,与最大似然法有些类似,但是她假定了所有类的协方差都相等,所以它是一种较快的分类方法。 三、实验步骤及结果 1、定义分类模板

定义分类模板包括分类模板的生成、管理、评价和编辑等,功能主要由分类模板编辑器(Signature Editor)完成,具体步骤包括: 1)打开需要分类的影像 本实验所处理的遥感图像打开如下图所示。 图1 原始遥感图像 2)打开分类模板编辑器 3)调整属性文字 在分类编辑窗口中的分类属性表中有很多字段,可以对不需要的字段进行调整。 4)选取样本 基于先验知识,需要对遥感图像选取训练样本,包括产生AOI、合并、命名,从而建立样本。考虑到同类地物颜色的差异,因此在采样过程中对每一地类的采样点(即AOI)不少于10个。选取样本包括产生AOI和建立分类模板两个步骤。 (1)产生AOI的方法有很多种,本实验采用应用查询光标扩展方法。 (2)建立分类模板 ①在分类模板编辑窗口,单击按钮,将多边形AOI区域加载到分类模板属性表中。在同样颜色的区域多绘制一些AOI,分别加载到分类模板属性表中。本实验中每一颜色

贝叶斯实验报告

HUNAN UNIVERSITY 人工智能实验报告 题目实验三:分类算法实验 学生姓名匿名 学生学号2013080702xx 专业班级智能科学与技术1302班 指导老师袁进 一.实验目的 1.了解朴素贝叶斯算法的基本原理; 2.能够使用朴素贝叶斯算法对数据进行分类 3.了解最小错误概率贝叶斯分类器和最小风险概率贝叶斯分类器 4.学会对于分类器的性能评估方法 二、实验的硬件、软件平台 硬件:计算机 软件:操作系统:WINDOWS 10 应用软件:C,Java或者Matlab 相关知识点: 贝叶斯定理: 表示事件B已经发生的前提下,事件A发生的概率,叫做事件B发生下事件A的条件概率,其基本求解公式为:

贝叶斯定理打通了从P(A|B)获得P(B|A)的道路。 直接给出贝叶斯定理: 朴素贝叶斯分类是一种十分简单的分类算法,叫它朴素贝叶斯分类是因为这种方法的思想真的很朴素,朴素贝叶斯的思想基础是这样的:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。 朴素贝叶斯分类的正式定义如下: 1、设为一个待分类项,而每个a为x的一个特征属性。 2、有类别集合。 3、计算。 4、如果,则。 那么现在的关键就是如何计算第3步中的各个条件概率。我们可以这么做: 1、找到一个已知分类的待分类项集合,这个集合叫做训练样本集。 2、统计得到在各类别下各个特征属性的条件概率估计。即 3、如果各个特征属性是条件独立的,则根据贝叶斯定理有如下推导: 因为分母对于所有类别为常数,因为我们只要将分子最大化皆可。又因为各特征属性是条件独立的,所以有:

遥感非监督分类实验报告书

遥感非监督分类实验报告书 部门: xxx 时间: xxx 整理范文,仅供参考,可下载自行编辑

遥感图像的非监督分类实验报告 姓名:李全意 专业班级:地科二班 学号:2018214310 指导教师:段艳 日期:2018年6月3日 1. 实验目的 通过本实验加强对遥感非监督分类处理理论部分的理解,熟练掌握图像非监督分类的处理方法,并将处理前后数据进行比较。 b5E2RGbCAP 2. 实验准备工作 <1)准备遥感数据<本实验使用的是老师提供的遥感数据); <2)熟悉遥感图像非监督分类的理论部分 3.实验步骤 4. 实验数据分析与结论 <1)通过分类前后图像的比较,发现非监督分类后的图像容易区分不同地物; <2)分类过程中存在较多错分漏分现象,同种类别中有多种地物; <3)非监督分类根据地物的光谱统计特性进行分类,客观真实且方法简单,而且具有一定的精度。 5. 实验收获及需要解决的问题 <1)对非监督分类处理遥感图像方法有了总体上的认识,基本上掌握该方法的具体操作步骤,会用该方法处理一些遥感图图像。 p1EanqFDPw

Unsupervised Classification, 在Unsupervised Classification对话框中,将参数设计设计如下: Number of classes:30,一般将分类数取为最终分类数的2倍以上;Maximum Iterations:18; 点击Color Scheme Options决定输出的分类图像为黑白的;Convergence Threshold:0.95。 点击OK即可。打开完成后图像与原图像对比: 原图:完成后: <2)打开原图像,在视窗中点击File/Open/Raster Layer,选择分类监督后的图像classification1.img,在Raster Options中,取消Clear Display如下:

Libsvm-FarutoGUI版本介绍与使用(《Learn SVM Step by Step》by faruto2011系列视频-应用篇)

——打造最优秀、专业和权威的MATLAB技术交流平台! https://www.sodocs.net/doc/7311821017.html, MATLAB技术论坛| Simulink仿真论坛| 专业MATLAB技术交流平台! 网址:https://www.sodocs.net/doc/7311821017.html, 邮箱:matlabsky@https://www.sodocs.net/doc/7311821017.html, 客服:1341692017(QQ) 技术论坛:https://www.sodocs.net/doc/7311821017.html, 函数百科:https://www.sodocs.net/doc/7311821017.html, 电子期刊:https://www.sodocs.net/doc/7311821017.html, 官方博客:https://www.sodocs.net/doc/7311821017.html, 读书频道:https://www.sodocs.net/doc/7311821017.html, 视频教程:https://www.sodocs.net/doc/7311821017.html, 有偿编程:https://www.sodocs.net/doc/7311821017.html, 软件汉化:https://www.sodocs.net/doc/7311821017.html,

——打造最优秀、专业和权威的MATLAB技术交流平台! https://www.sodocs.net/doc/7311821017.html, MATLAB技术论坛视频教学 内容:《Learn SVM Step by Step 》系列视频 作者:faruto 时间:2011.6-9 版权:All Rights Preserved By https://www.sodocs.net/doc/7311821017.html, 声明:严厉谴责和鄙夷一切利用本论坛资源进行任何牟利或盗版的行为! 更多MATLAB精彩视频详见https://www.sodocs.net/doc/7311821017.html,/forum-5-1.html

——打造最优秀、专业和权威的MATLAB技术交流平台! https://www.sodocs.net/doc/7311821017.html, 《Learn SVM Step by Step 》系列视频目录 –《Learn SVM Step by Step 》应用篇 ?Libsvm的下载、安装和使用 ?https://www.sodocs.net/doc/7311821017.html,/thread-18080-1-1.html ?Libsvm参数实例详解 ?https://www.sodocs.net/doc/7311821017.html,/thread-18457-1-1.html ?一个实例搞定libsvm分类 ?https://www.sodocs.net/doc/7311821017.html,/thread-18521-1-1.html ?一个实例搞定libsvm回归 ?https://www.sodocs.net/doc/7311821017.html,/thread-18552-1-1.html ?Libsvm-FarutoUltimate版本介绍与使用 ?https://www.sodocs.net/doc/7311821017.html,/thread-18594-1-1.html ?Libsvm-FarutoGUI版本介绍与使用 ?https://www.sodocs.net/doc/7311821017.html,/thread-18606-1-1.html ?…… ?Lssvm的下载、安装和使用 ?一个实例搞定lssvm分类 ?一个实例搞定lssvm回归 ?…… –《Learn SVM Step by Step 》理论篇 ?具体内容待定。

子网划分 实验报告

实验报告

1.实验题目:IP地址分类及子网划分 2.实验目的:1)掌握有类IP地址的使用及主机IP地址的配置; 2)掌握子网掩码及子网划分的使用 3.实验地点:计科楼201教室 4.实验设备及环境:安装win7系统的两台计算机、交换机、路 由器 5.实验过程: 1)ip地址划分 有一个公司有六个部门,申请了IP为211.237.222.0/32的地址,是给这个公司的每个部门划分一个子网。 答案:需要6个子网的话,必须要划分为8个子网,因为6不是2的整次方数。C类地址每段共有地址256个,划分为8个子网,每段有32个地址,第一个地址为子网地址,不可用;最后一个为广播地址,不可用,所以每段实际可用地址为30个。第一个子网和最后一个子网默认不用(如果不支持全0全1子网),也就是说8-2正好是6个子网。这样算下来,32*2+2*6=76,共计损失76个地址。 子网掩码是:256-32=224,255.255.255.224。 (1)理论IP:211.237.222.1~211.237.222.32,网关:211.237.222.1; 实际IP:211.237.222.2~211.237.222.31; (2)理论IP:211.237.222.33~211.237.222.64,网关:211.237.222.33; 实际IP:211.237.222.34~211.237.222.63; (3)理论IP:211.237.222.65~211.237.222.96,网关:211.237.222.65;

实际IP:211.237.222.66~211.237.222.95; (4)理论IP:211.237.222.97~211.237.222.128,网关:211.237.222.97; 实际IP:211.237.222.98~211.237.222.127; (5)理论IP:211.237.222.129~211.237.222.160,网关:211.237.222.129; 实际IP:211.237.222.130~211.237.222.159; (6)理论IP:211.237.222.161~211.237.222.192,网关:211.237.222.161; 实际IP:211.237.222.162~211.237.222.191; 2)vlan划分 第一台计算机的IP地址为:10.12.155.87 第二台计算机的IP地址为:10.12.156.173

实验报告格式

《客户关系管理》课程实验实训报告

集团、卢森堡剑桥集团、亚洲创业投资基金(原名软银中国创业基金)共同投资成立。 当当网成立于1999年11月,以图书零售起家,已发展成为领先的在线零售商:中国最大图书零售商、高速增长的百货业务和第三方招商平台。当当网致力于为用户提供一流的一站式购物体验,在线销售的商品包括图书音像、服装、孕婴童、家居、美妆和3C数码等几十个大类,在库图书超过90万种,百货超过105万种。当当网的注册用户遍及全国32个省、市、自治区和直辖市。注册用户遍及全国32个省、市、自治区和直辖市。当当网于美国时间2010年12月8日在纽约证券交易所正式挂牌上市,是中国第一家完全基于线上业务、在美国上市的B2C网上商城。 当当网于2010年12月8日在纽约证券交易所正式挂牌上市,是中国第一家完全基于线上业务、在美国上市的B2C网上商城。2012年,当当网的活跃用户数达到1570万,订单数达到5420万。 2014年2月28日,当当和1号店已经签订合作协议,当当将在1号店销售图书,1号店将在当当平台上销售食品和日用百货。 公司创建: 当当网由李国庆和俞渝创立,李国庆先生任当当网CEO,俞渝女士目任当当网董事长。二人是夫妻,联手创业,早已在业内传为佳话。 李国庆毕业于北大,两次创业,均以出版为主体。在图书出版领域摸爬滚打了10年,很了解中国传统的图书出版和发行方面的所有环节。俞渝是纽约大学学金融MBA毕业的,在华尔街做融资,有过几个很成功的案例。她在美国生活了整整10年,投资者非常信任她,又有共同语言。 1996年,李国庆和俞渝邂逅,然后在纽约结婚,当当的故事也就开了头。两人从谈恋爱开始,就经常一起思考,一起聊亚马逊的商业模型与传统贸易手段的根本区别。后来夫妇俩常探讨在图书这个行业中间赚钱最关键的环节是什么,有着多年图书出版运营经验的李国庆说肯定是出版社和读者的直接联系。于是他们一起去找风险投资商,说服了IDG、LCHG(卢森堡剑桥集团,该集团公司拥有欧洲最大的出版集团)共同投资,目标锁定在凭借发达国家现代图书市场的运作模式和成熟的管理经验,结合当今世界最先进的计算机技术和网络技术,用来推动中国图书市场的“可供书目”信息事业,及“网上书店”的门户建设,成为中国最大的图书资讯集成商和供应商。 公司历史: 1999年11月,网站进入运营。 2000年2月,当当网首次获得风险投资。 2000年11月,当当网周年店庆大酬宾,在网民中引起巨大反响。 2001年6月,当当网开通网上音像店。 2001年7月,当当网日访问量超过50万(Unique Visitor),成为最繁忙的图书、音像店。 2003年4月,在“非典”肆虐之时,当当网坚持高速运转,满足读者对精神食粮的需求,被文化部等四家政府部门首推为“网上购物”优秀网站。 2003年6月,当当网、新浪网、SOHO、网通等公司举办“中国精神”活动,呼唤开放乐观的民族精神,引起轰动的社会反响。 2004年2月,当当网获得第二轮风险投资,著名风险投资机构老虎基金投资当当1100万美元。 2004年3月,当当网开通期刊频道。

贝叶斯分类实验报告doc

贝叶斯分类实验报告 篇一:贝叶斯分类实验报告 实验报告 实验课程名称数据挖掘 实验项目名称贝叶斯分类 年级 XX级 专业信息与计算科学 学生姓名 学号 1207010220 理学院 实验时间: XX 年 12 月 2 日 学生实验室守则 一、按教学安排准时到实验室上实验课,不得迟到、早退和旷课。 二、进入实验室必须遵守实验室的各项规章制度,保持室内安静、整洁,不准在室内打闹、喧哗、吸烟、吃食物、随地吐痰、乱扔杂物,不准做与实验内容无关的事,非实验用品一律不准带进实验室。 三、实验前必须做好预习(或按要求写好预习报告),未做预习者不准参加实验。四、实验必须服从教师的安排和指导,认真按规程操作,未经教师允许不得擅自动用仪器设备,特别是与本实验无关的仪器设备和设施,如擅自动用

或违反操作规程造成损坏,应按规定赔偿,严重者给予纪律处分。 五、实验中要节约水、电、气及其它消耗材料。 六、细心观察、如实记录实验现象和结果,不得抄袭或随意更改原始记录和数据,不得擅离操作岗位和干扰他人实验。 七、使用易燃、易爆、腐蚀性、有毒有害物品或接触带电设备进行实验,应特别注意规范操作,注意防护;若发生意外,要保持冷静,并及时向指导教师和管理人员报告,不得自行处理。仪器设备发生故障和损坏,应立即停止实验,并主动向指导教师报告,不得自行拆卸查看和拼装。 八、实验完毕,应清理好实验仪器设备并放回原位,清扫好实验现场,经指导教师检查认可并将实验记录交指导教师检查签字后方可离去。 九、无故不参加实验者,应写出检查,提出申请并缴纳相应的实验费及材料消耗费,经批准后,方可补做。 十、自选实验,应事先预约,拟订出实验方案,经实验室主任同意后,在指导教师或实验技术人员的指导下进行。 十一、实验室内一切物品未经允许严禁带出室外,确需带出,必须经过批准并办理手续。 学生所在学院:理学院专业:信息与计算科学班级:信计121

主观贝叶斯实验报告

主观贝叶斯实验报告 学生姓名 程战战 专业/班级 计算机91 学 号 09055006 所在学院 电信学院 指导教师 鲍军鹏 提交日期 2012/4/26

根据初始证据E 的概率P (E )及LS 、LN 的值,把H 的先验概率P (H )更新为后验概率P (H/E )或者P(H/!E)。在证据不确定的情况下,用户观察到的证据具有不确定性,即0

LIBSVM使用方法

LIBSVM 1 LIBSVM简介 LIBSVM是台湾大学林智仁(Lin Chih-Jen)副教授等开发设计的一个简单、易于使用和快速有效的SVM模式识别与回归的软件包,他不但提供了编译好的可在Windows 系列系统的执行文件,还提供了源代码,方便改进、修改以及在其它操作系统上应用;该软件还有一个特点,就是对SVM所涉及的参数调节相对比较少,提供了很多的默认参数,利用这些默认参数就可以解决很多问题;并且提供了交互检验(Cross -SVM回归等问题,包括基于一对一算法的多类模式识别问题。SVM用于模式识别或回归时,SVM方法及其参数、核函数及其参数的选择,目前国际上还没有形成一个统一的模式,也就是说最优SVM算法参数选择还只能是凭借经验、实验对比、大范围的搜寻或者利用软件包提供的交互检验功能进行寻优。ν-SVM回归和ε-SVM分类、νValidation)的功能。该软件包可以在https://www.sodocs.net/doc/7311821017.html,.tw/~cjlin/免费获得。该软件可以解决C-SVM分类、-SVM回归等问题,包括基于一对一算法的多类模式识别问题。SVM用于模式识别或回归时,SVM方法及其参数、核函数及其参数的选择,目前国际上还没有形成一个统一的模式,也就是说最优SVM算法参数选择还只能是凭借经验、实验对比、大范围的搜寻或者利用软件包提供的交互检验功能进行寻优。 2 LIBSVM使用方法 LibSVM是以源代码和可执行文件两种方式给出的。如果是Windows系列操作系统,可以直接使用软件包提供的程序,也可以进行修改编译;如果是Unix类系统,必须自己编译,软件包中提供了编译格式文件,我们在SGI工作站(操作系统IRIX6.5)上,使用免费编译器GNU C++3.3编译通过。 2.1 LIBSVM 使用的一般步骤: 1) 按照LIBSVM软件包所要求的格式准备数据集; 2) 对数据进行简单的缩放操作; 3) 考虑选用RBF 核函数; 4) 采用交叉验证选择最佳参数C与g; 5) 采用最佳参数C与g 对整个训练集进行训练获取支持向量机模型; 6) 利用获取的模型进行测试与预测。 2.2 LIBSVM使用的数据格式 该软件使用的训练数据和检验数据文件格式如下:

统计学习_朴素贝叶斯分类器实验报告

作业6 编程题实验报告 (一)实验内容: 编程实现朴素贝叶斯分类器,假设输入输出都是离散变量。用讲义提供的训练数据进行试验,观察分类器在 121.x x m ==时,输出如何。如果在分类器中加入Laplace 平滑(取?=1) ,结果是否改变。 (二)实验原理: 1)朴素贝叶斯分类器: 对于实验要求的朴素贝叶斯分类器问题,假设数据条件独立,于是可以通过下式计算出联合似然函数: 12(,,)()D i i p x x x y p x y =∏ 其中,()i p x y 可以有给出的样本数据计算出的经验分布估计。 在实验中,朴素贝叶斯分类器问题可以表示为下面的式子: ~1*arg max ()()D i y i y p y p x y ==∏ 其中,~ ()p y 是从给出的样本数据计算出的经验分布估计出的先验分布。 2)Laplace 平滑: 在分类器中加入Laplace 平滑目的在于,对于给定的训练数据中,有可能会出现不能完全覆盖到所有变量取值的数据,这对分类器的分类结果造成一定误差。 解决办法,就是在分类器工作前,再引入一部分先验知识,让每一种变量去只对应分类情况与统计的次数均加上Laplace 平滑参数?。依然采用最大后验概率准则。 (三)实验数据及程序: 1)实验数据处理: 在实验中,所用数据中变量2x 的取值,对应1,2,3s m I === 讲义中所用的两套数据,分别为cover all possible instances 和not cover all possible instances 两种情况,在实验中,分别作为训练样本,在给出测试样本时,输出不同的分类结果。 2)实验程序: 比较朴素贝叶斯分类器,在分类器中加入Laplace 平滑(取?=1)两种情况,在编写matlab 函数时,只需编写分类器中加入Laplace 平滑的函数,朴素贝叶斯分类器是?=0时,特定的Laplace 平滑情况。 实现函数:[kind] =N_Bayes_Lap(X1,X2,y,x1,x2,a) 输入参数:X1,X2,y 为已知的训练数据; x1,x2为测试样本值; a 为调整项,当a=0时,就是朴素贝叶斯分类器,a=1时,为分类器中加入Laplace 平滑。 输出结果:kind ,输出的分类结果。

libsvm-mat-加强工具箱介绍

libsvm-mat-加强工具箱介绍 由于libsvm的matlab版本的工具箱libsvm-mat并没有给出寻参的函数模块,而无论利用libsvm工具箱进行分类还是回归,参数的选取是十分重要的,鉴于此libsvm-mat-加强工具箱在libsvm-mat-2.89-3的基础上给出相应的辅助函数插件,方便用户来选取最佳的参数,该加强工具箱可以在MATLAB中文论坛上下载,现对该加强工具箱里主要的辅助函数插件的接口进行介绍,所有的源代码可以到MATLAB中文论坛下载并查看。 ====================================================== ==== 归一化函数:scaleForSVM [train_scale,test_scale,ps]= scaleForSVM(train_data,test_data,ymin,ymax) 输入: train_data:训练集,格式要求与svmtrain相同。 test_data:测试集,格式要求与svmtrain相同。 ymin,ymax:归一化的范围,即将训练集和测试都归一化到[ymin,ymax],这两个参数可不输入,默认值为ymin=0,ymax=1,即默认将训练集和测试都归一化到[0,1]。 输出: train_scale:归一化后的训练集。 test_scale:归一化后的测试集。 ps:归一化过程中的映射(方便反归一化使用)。 ====================================================== ==== pca降维预处理函数:pcaForSVM

监督分类实验报告

监督分类实验报告 1100900028 孙淑蕊 一、实验原理:根据已知训练区提供的样本,通过选择特征参数,建立判别函数对各待分类像元进行的分类。 二、实验目的:1、理解监督分类方法的基本原理; 2、掌握利用ERDAS进行监督分类的操作流程; 3、了解分类后评价过程。 三、实验内容:在ERDAS软件中,对TM影响进行监督分类,将图像中的水体、植被、农田、城区等地物特征提取出来。 四、实验步骤: 1、在ERDAS主界面中,打开Viewer视窗,打开需要进行监督分类的图像。 2、对图像进行设置,设置Red、Green、Blue对应的波段值分别为4、 3、2。

Layer C osbinations far i u;/实査九(监督分黄)/t>._bj cit* ?.1 X 1 P Red:InrLbicity. img | (: Landsjt_TM_Fast_Fofm_?]卜 ■ w G reen :lm_bjcip.img R 1 (;L^nd^t_TM_F^LFoinn| 3 I P Ellie:tm_bjeity. img(.Land$aLTH_Fast_Fofm ▼ | ± 1 疗Aulo Apply | OK Applp | Close I Help 3、在Viewer视窗中显示待分类图像。打开Classification,选择Sig nature Editor,打开分类模板编辑器。 基 Classifier Modeler Vecto Signature Editor... IJriidperTii&d 匚... Sif)efvised Classihcabon... Image Segmentation ... Thieshold... Fuiszy Convolution... □rouping Tool Fu及y Fl&z: ode .. Accuracy Assessment... Feature Space Image .. Feature Space rhematic... Knowledge Classifief,. Kno^kdae Engine?+ Frame Sampling Tools Spectral Analysis Close Help

相关主题