Matlab-SVM整理
matlab的svmrfe函数

一、介绍MATLAB是一种流行的技术计算软件,广泛应用于工程、科学和其他领域。
在MATLAB的工具箱中,包含了许多函数和工具,可以帮助用户解决各种问题。
其中,SVMRFE函数是MATLAB中的一个重要功能,用于支持向量机分类问题中的特征选择。
二、SVMRFE函数的作用SVMRFE函数的全称为Support Vector Machines Recursive Feature Elimination,它的作用是利用支持向量机进行特征选择。
在机器学习和模式识别领域,特征选择是一项重要的任务,通过选择最重要的特征,可以提高分类器的性能,并且减少计算和存储的开销。
特征选择问题在实际应用中经常遇到,例如在生物信息学中,选择基因表达数据中最相关的基因;在图像处理中,选择最相关的像素特征。
SVMRFE函数可以自动化地解决这些问题,帮助用户找到最佳的特征子集。
三、使用SVMRFE函数使用SVMRFE函数,用户需要准备好特征矩阵X和目标变量y,其中X是大小为m×n的矩阵,表示m个样本的n个特征;y是大小为m×1的向量,表示m个样本的类别标签。
用户还需要设置支持向量机的参数,如惩罚参数C和核函数类型等。
接下来,用户可以调用SVMRFE函数,设置特征选择的方法、评价指标以及其他参数。
SVMRFE函数将自动进行特征选择,并返回最佳的特征子集,以及相应的评价指标。
用户可以根据返回的结果,进行后续的分类器训练和预测。
四、SVMRFE函数的优点SVMRFE函数具有以下几个优点:1. 自动化:SVMRFE函数可以自动选择最佳的特征子集,减少了用户手工试验的时间和精力。
2. 高性能:SVMRFE函数采用支持向量机作为分类器,具有较高的分类精度和泛化能力。
3. 灵活性:SVMRFE函数支持多种特征选择方法和评价指标,用户可以根据自己的需求进行灵活调整。
五、SVMRFE函数的示例以下是一个简单的示例,演示了如何使用SVMRFE函数进行特征选择:```matlab准备数据load fisheririsX = meas;y = species;设置参数opts.method = 'rfe';opts.nf = 2;调用SVMRFE函数[selected, evals] = svmrfe(X, y, opts);```在这个示例中,我们使用了鸢尾花数据集,设置了特征选择的方法为递归特征消除(RFE),并且要选择2个特征。
matlab fitsvm参数

matlab fitsvm参数fitcsvm是MATLAB中用于构建支持向量机(SVM)分类模型的函数。
SVM是一种常用的分类方法,其基本思想是将数据映射到高维空间,在该空间中找到一个最优的超平面,以区分不同类别的数据。
fitcsvm函数具有丰富的参数选项,可以根据具体的需求来调整模型的性能和精度。
下面将介绍一些常用的参数及其相关参考内容:1. 'KernelFunction'参数:指定SVM模型所使用的核函数类型。
常见的核函数有线性核函数、多项式核函数、高斯核函数等。
可以使用以下代码来设置核函数类型:```matlabSVMModel = fitcsvm(X, Y, 'KernelFunction', 'linear');```有关不同核函数的详细信息和选取准则,可以参考MATLAB官方文档中的KernelFunction参数说明。
2. 'BoxConstraint'参数:用于控制模型的复杂度和鲁棒性。
该参数的取值范围是大于0的实数,较小的值表示更简单的模型,较大的值表示更复杂的模型。
可以使用以下代码来设置BoxConstraint的值:```matlabSVMModel = fitcsvm(X, Y, 'BoxConstraint', 1.0);```3. 'Standardize'参数:指定是否对输入数据进行标准化处理。
标准化是将输入数据减去其均值并除以标准差,以消除不同特征量级对模型的影响。
可以使用以下代码来设置是否进行标准化处理:```matlabSVMModel = fitcsvm(X, Y, 'Standardize', true);```更多关于数据标准化的信息可以参考MATLAB官方文档中的Standardize参数说明。
4. 'KernelScale'参数:用于指定核函数的缩放因子。
matlab svm多分类算法 -回复

matlab svm多分类算法-回复什么是SVM多分类算法?支持向量机(Support Vector Machine,SVM)是一种常用的机器学习算法,用于分类和回归分析。
它的主要思想是在特征空间中找到一个最优的超平面,将不同类别的样本点分开。
SVM被广泛应用于二分类问题,但在现实世界中,多分类问题更为常见。
SVM多分类算法是基于SVM算法的扩展,用于解决多类别分类问题。
SVM多分类算法的原理是什么?基本的SVM算法是建立在二分类的基础上的,它通过寻找一个最大化间隔的超平面来进行分类。
然而,在多分类问题中,我们需要一种方法来将多个类别进行有效地分类。
常用的方法有一对一(One-vs-One)和一对其余(One-vs-Rest)。
一对一方法将每两个类别之间都构造一个二分类器。
例如,对于k个类别,需要构建k*(k-1)/2个分类器,每个分类器负责将两个类别中的一个划分出来。
当需要对一个未知类别的样本进行分类时,每个分类器都会给出一个类别的判断结果,最后根据这些结果进行投票或决策,选择得票最多的类别作为最终的分类结果。
一对其余方法则是将一个类别与其他所有类别作为一个整体进行分类。
同样以k个类别为例,需要构建k个二分类器,每个分类器负责将一个类别与其他k-1个类别作区分。
对于未知类别的样本进行分类时,分别计算它与每个类别的距离得分,选择距离最大的类别作为最终的分类结果。
SVM多分类算法的具体实现步骤是什么?以下是一种常见的SVM多分类算法实现步骤的概述:1. 读取数据集:首先,我们需要从数据集中读取样本数据和对应的类别标签。
确保数据集的类别标签是数字或字符串形式。
2. 数据预处理:对于SVM算法,特征归一化是一个重要的预处理步骤。
通过对特征进行归一化或标准化,可以避免样本特征之间的比例差异对分类结果的影响。
3. 划分训练集和测试集:将数据集划分为训练集和测试集,用于构建和评估模型的性能。
4. 对每对分类器进行训练:根据选择的一对一或一对其余方法,依次对每个二分类器进行训练。
matlab中svm的类型

matlab中svm的类型
在MATLAB中,支持向量机(SVM)有两种类型,一种是用于二元分类的分类器,另一种是用于多类分类的分类器。
这两种类型的SVM在MATLAB中均有支持。
对于二元分类,MATLAB中的SVM可以使用fitcsvm函数来训练一个二元分类器。
fitcsvm函数允许用户指定不同的核函数(如线性核、多项式核、高斯核等)以及其他参数,以便根据训练数据来拟合SVM模型。
一旦模型训练完成,可以使用predict函数对新的数据进行分类预测。
对于多类分类,MATLAB中的SVM可以使用fitcecoc函数来训练一个多类分类器。
fitcecoc函数使用“Error-Correcting Output Codes”(ECOC)策略来处理多类分类问题,它将原始多类分类问题转化为一系列的二元分类子问题。
同样,用户可以指定不同的核函数和其他参数来训练多类SVM分类器,并使用predict函数进行分类预测。
除了这两种基本类型的SVM之外,MATLAB还提供了一些其他的功能和工具,如交叉验证、特征选择、参数调优等,以帮助用户更
好地使用SVM进行分类任务。
总的来说,MATLAB中的SVM类型丰富多样,用户可以根据具体的分类问题和需求选择合适的类型和工具来进行分类建模和预测。
matlab中SVM工具箱的使用方法

包已经解压到文件夹F:\R2009b\toolbox\svmmatlab中SVM工具箱的使用方法1,下载SVM工具箱:/faculty/chzheng/bishe/indexfiles/indexl.htm 2,安装到matlab文件夹中1)将下载的SVM工具箱的文件夹放在\matlab71\toolbox\下2)打开matlab->File->Set Path中添加SVM工具箱的文件夹现在,就成功的添加成功了.可以测试一下:在matlab中输入which svcoutput 回车,如果可以正确显示路径,就证明添加成功了,例如:C:\Program Files\MATLAB71\toolbox\svm\svcoutput.m3,用SVM做分类的使用方法1)在matlab中输入必要的参数:X,Y,ker,C,p1,p2我做的测试中取的数据为:N = 50;n=2*N;randn('state',6);x1 = randn(2,N)y1 = ones(1,N);x2 = 5+randn(2,N);y2 = -ones(1,N);figure;plot(x1(1,:),x1(2,:),'bx',x2(1,:),x2(2,:),'k.');axis([-3 8 -3 8]);title('C-SVC')hold on;X1 = [x1,x2];Y1 = [y1,y2];X=X1';Y=Y1';其中,X是100*2的矩阵,Y是100*1的矩阵C=Inf;ker='linear';global p1 p2p1=3;p2=1;然后,在matlab中输入:[nsv alpha bias] = svc(X,Y,ker,C),回车之后,会显示:Support Vector Classification_____________________________Constructing ...Optimising ...Execution time: 1.9 secondsStatus : OPTIMAL_SOLUTION|w0|^2 : 0.418414Margin : 3.091912Sum alpha : 0.418414Support Vectors : 3 (3.0%)nsv =3alpha =0.00000.00000.00000.00000.00002)输入预测函数,可以得到与预想的分类结果进行比较.输入:predictedY = svcoutput(X,Y,X,ker,alpha,bias),回车后得到:predictedY =1111111113)画图输入:svcplot(X,Y,ker,alpha,bias),回车补充:X和Y为数据,m*n:m为样本数,n为特征向量数比如:取20组训练数据X,10组有故障,10组无故障的,每个训练数据有13个特征参数,则m=20,n=13Y为20*1的矩阵,其中,10组为1,10组为-1.对于测试数据中,如果取6组测试数据,3组有故障,3组无故障的,则m=6,n=13Y中,m=6,n=1/SV M_soft.htmlSVM - Support Vector MachinesSoftwareTrain support vector machine classifier/access/helpdesk/help/toolbox/bioinfo/ref/svmtrain.html一些问题???????1.今天我在使用SVM通用工具箱对眼电的信号数据进行分类时出现如下错误:Support Vector Classification_____________________________Constructing ...Optimising ...??? Dimension error (arg 3 and later).Error in ==> svc at 60[alpha lambda how] = qp(H, c, A, b, vlb, vub, x0, neqcstr);不知道是什么原因?答:今天上午终于找到出现这一错误的原因:它并不是SVM程序的问题,是我在整理样本时,把参数需要的样本行列颠倒所致。
SVM分类器-matlab程序-可运行

fprintf('-1');
else
fprintf(' 1');
end
fprintf(' 判别函数值%f 分类结果',sum(i) + b);
if abs(sum(i) + b - 1) < 0.5
else
U = max(0,a1old + a2old - C);
V = min(C,a1old + a2old);
end
if a2new > V
a2new = V;
end
if a2new < U
a2new = U;
end
a1new = a1old + S * (a2old - a2new);%计算新的a1
break;
end
if y(n1) * (sum(n1) + b) < 1 && a(n1) ~=C
break;
end
n1 = n1 + 1;
end
%n2按照最大化|E1-E2|的原则选取
a(n1) = a1new;%更新a
a(n2) = a2new;
%更新部分值
sum = zeros(n,1);
for k = 1 : n
for i = 1 : n
sum(k) = sum(k) + a(i) * y(i) * K(i,k);
end
end
0.9885 5.7625 0.1832 0
-0.3318 2.4373 -0.6884 0
Matlab-SVM整理

SVM整理1各种svm程序包1.1 matlab高级版本中自带的svm函数我现在使用的matlab版本为matlab 7.6.0(R2008a)这个版本中已经自带svm算法,分别为生物信息工具箱(bioinformatics toolbox)中svmclassify函数和svmtrain函数,为上下级关系。
SVMStruct=svmtrain(Training,Group)%svmtrain的输入为样本点training和样本的分类情况group,输出为一个分类器svmstruct.核函数,核参数,和计算方法等都是可选的,如SVMStruct = svmtrain(…, ‘Kernel_Function’, Kernel_FunctionValue, …)但是切记切记一定要成对出现。
然后,将分类器和testing sample带入svmclassify中,可以得到分类结果和准确度。
举个例子svmStruct=svmtrain(data(train,:),groups(train),’Kernel_Function’,'rbf’,'Kernel_FunctionValue’,’5′,’showplot’,true);%用了核宽为5的径向基核,且要求作图%这里我觉得原作者的写法有误,应该是svmStruct = svmtrain(data(train,:),groups(train),...'Kernel_Function','rbf','RBF_Sigma',5,'showplot',true);classes = svmclassify(svmStruct,data(test,:),’showplot’,true);%要求输出检测样本点的分类结果,且画图表示。
tip 1: 有归一化scale功能,可以通过调参数实现tip 2: 计算方法可选qp,smo,lstip 3: 有个关于soft margin的盒子条件,我不太明白是干嘛的,谁懂得话,就给我讲讲哈tip 4: 画出来的图很难看to sum up: 挺好的1.2较早使用的工具箱SVM and Kernel Methods Matlab Toolbox2005年法国人写的,最近的更新为20/02/2008下载的地址为http://asi.insa-rouen.fr/enseignants/~arakotom/toolbox/index.html这是我最早开始用的一个工具箱,我很喜欢,到现在还是,对于svm的初学者是个很好的toolbox.有详细的说明和很多的demo和例子,包含现今几乎所有的有关svm的成熟算法和数据预处理方法(pca及小波等)。
matlab fitsvm参数

matlab fitsvm参数在 MATLAB 中,fitcsvm 函数用于训练支持向量机(Support Vector Machine,SVM)分类器。
下面是 fitcsvm 函数的常用参数:1. 数据集参数:- 'X':输入特征矩阵,大小为M×N,其中M是样本数量,N是特征数量。
- 'Y':分类标签向量,大小为M×1,其中M是样本数量。
2. 模型参数:- 'KernelFunction':核函数类型,可以是线性核函数'linear'、多项式核函数'polynomial'、高斯核函数'gaussian'(默认值)、径向基函数'rbf'等。
- 'KernelScale':核函数的尺度参数,用于控制特征空间中各个特征的重要程度。
对于高斯核函数'gaussian'和径向基函数'rbf',该参数决定了支持向量机的“宽度”。
3. 优化参数:- 'BoxConstraint':惩罚参数C,用于控制分类器的错误容忍度。
较小的C值会产生较大的间隔,容忍一些错误分类,从而使模型更简单;较大的C值会产生较小的间隔,减少误分类,但可能过拟合。
- 'KernelOffset':与超平面的距离偏移量,可以用于改变判决边界的位置。
- 'Solver':优化求解器的类型,可以是序列最小优化(SMO)算法'smo'(默认值)、拉格朗日乘子法(Lagrange multiplier)'lagrange'、内点法(interior-point)'interior-point'等。
4. 其他参数:- 'Standardize':是否对输入数据进行标准化处理,默认为true。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SVM整理1各种svm程序包1.1 matlab高级版本中自带的svm函数我现在使用的matlab版本为matlab 7.6.0(R2008a)这个版本中已经自带svm算法,分别为生物信息工具箱(bioinformatics toolbox)中svmclassify函数和svmtrain函数,为上下级关系。
SVMStruct=svmtrain(Training,Group)%svmtrain的输入为样本点training和样本的分类情况group,输出为一个分类器svmstruct.核函数,核参数,和计算方法等都是可选的,如SVMStruct = svmtrain(…, ‘Kernel_Function’, Kernel_FunctionValue, …)但是切记切记一定要成对出现。
然后,将分类器和testing sample带入svmclassify中,可以得到分类结果和准确度。
举个例子svmStruct=svmtrain(data(train,:),groups(train),’Kernel_Function’,'rbf’,'Kernel_FunctionValue’,’5′,’showplot’,true);%用了核宽为5的径向基核,且要求作图%这里我觉得原作者的写法有误,应该是svmStruct = svmtrain(data(train,:),groups(train),...'Kernel_Function','rbf','RBF_Sigma',5,'showplot',true);classes = svmclassify(svmStruct,data(test,:),’showplot’,true);%要求输出检测样本点的分类结果,且画图表示。
tip 1: 有归一化scale功能,可以通过调参数实现tip 2: 计算方法可选qp,smo,lstip 3: 有个关于soft margin的盒子条件,我不太明白是干嘛的,谁懂得话,就给我讲讲哈tip 4: 画出来的图很难看to sum up: 挺好的1.2较早使用的工具箱SVM and Kernel Methods Matlab Toolbox2005年法国人写的,最近的更新为20/02/2008下载的地址为http://asi.insa-rouen.fr/enseignants/~arakotom/toolbox/index.html这是我最早开始用的一个工具箱,我很喜欢,到现在还是,对于svm的初学者是个很好的toolbox.有详细的说明和很多的demo和例子,包含现今几乎所有的有关svm的成熟算法和数据预处理方法(pca及小波等)。
最最重要的是有回归!!!且函数简单,容易改动延伸。
最近我在弄模糊支持向量机,弄不出来,折腾的快死人了,那天突然发现其实在这个包的一个程序中改动下就可以达到模糊的效果了,开心啊。
且有多分类且画出来的图好看。
强烈推荐说下包中最重要的几个函数svmreg svmclass svmval其中,svmreg和svmclass的功能分别为训练出回归函数和分类器Svmval将回归函数或分类器带入,对新样本点进行估计1.3最富盛名的libsvm本文来自: 高校自动化网() 详细出处参考(转载请保留本链接):/html/matlab/15830.html业界很有名的一个包,主要是有各种各样的借口,现在最新的到python主页及下载地址:.tw/~cjlin/libsvm/但是,说实话呢,我真是用的不怎么上手首先,实在是不怎么好篡改其次,参数调起来挺麻烦。
但是有很详细的guide book 和例子且主页上的例子很生动,随便点几下,就可以看到分类器产生的过程和效果。
业界用的非常多,应该svm在应用领域影响力最大的一个包了据说(according to 诺,井博士)linux下非常非常好使。
1.4 osu-svm matlab toolbox下载地址:/projects/svm/觉得和libsvm没什么太大的差别有多分类且可以生成个阶梯图,我觉得这种图要比普通的分类平面图好些,好像可以看到更多的信息。
、1.5 spider machine learning matlab toolbox主页:/projects/svm/那个是相当cool~啊包括了迄今为止较为常用的machine learning algorithms还有无监督的一些算法,如谱聚类我研究了一小下,不太好篡改,但是很好用,我做多分类是就用了这个包,效果不好,但是挺好调整本文来自: 高校自动化网() 详细出处参考(转载请保留本链接):/html/matlab/15830_2.html1.6 svc(注意版本)包已经解压到文件夹F:\R2009b\toolbox\svmmatlab中SVM工具箱的使用方法1,下载SVM工具箱:/faculty/chzheng/bishe/indexfiles/indexl.htm2,安装到matlab文件夹中1)将下载的SVM工具箱的文件夹放在\matlab71\toolbox\下2)打开matlab->File->Set Path中添加SVM工具箱的文件夹现在,就成功的添加成功了.可以测试一下:在matlab中输入which svcoutput 回车,如果可以正确显示路径,就证明添加成功了,例如:C:\Program Files\MATLAB71\toolbox\svm\svcoutput.m3,用SVM做分类的使用方法1)在matlab中输入必要的参数:X,Y,ker,C,p1,p2我做的测试中取的数据为:N = 50;n=2*N;randn('state',6);x1 = randn(2,N)y1 = ones(1,N);x2 = 5+randn(2,N);y2 = -ones(1,N);figure;plot(x1(1,:),x1(2,:),'bx',x2(1,:),x2(2,:),'k.');axis([-3 8 -3 8]);title('C-SVC')hold on;X1 = [x1,x2];Y1 = [y1,y2];X=X1';Y=Y1';其中,X是100*2的矩阵,Y是100*1的矩阵C=Inf;ker='linear';global p1 p2p1=3;p2=1;然后,在matlab中输入:[nsv alpha bias] = svc(X,Y,ker,C),回车之后,会显示:Support Vector Classification_____________________________Constructing ...Optimising ...Execution time: 1.9 secondsStatus : OPTIMAL_SOLUTION|w0|^2 : 0.418414Margin : 3.091912Sum alpha : 0.418414Support Vectors : 3 (3.0%)nsv =3alpha =0.00000.00000.00000.00000.00002)输入预测函数,可以得到与预想的分类结果进行比较.输入:predictedY = svcoutput(X,Y,X,ker,alpha,bias),回车后得到:predictedY =1111111113)画图输入:svcplot(X,Y,ker,alpha,bias),回车补充:X和Y为数据,m*n:m为样本数,n为特征向量数比如:取20组训练数据X,10组有故障,10组无故障的,每个训练数据有13个特征参数,则m=20,n=13Y为20*1的矩阵,其中,10组为1,10组为-1.对于测试数据中,如果取6组测试数据,3组有故障,3组无故障的,则m=6,n=13Y中,m=6,n=1/SVM_soft.html2 原理详解2.1 SVM.ppt2.2 陆振波的SVM的MATLAB代码的解释%构造训练样本n = 50;randn('state',6);x1 = randn(2,n); %2行N列矩阵y1 = ones(1,n); %1*N个1x2 = 5+randn(2,n); %2*N矩阵y2 = -ones(1,n); %1*N个-1figure;plot(x1(1,:),x1(2,:),'bx',x2(1,:),x2(2,:),'k.');%x1(1,:)为x1的第一行,x1(2,:)为x1的第二行axis([-3 8 -3 8]);title('C-SVC')hold on;X = [x1,x2]; %训练样本d*n矩阵,n为样本个数,d为特征向量个数Y = [y1,y2]; %训练目标1*n矩阵,n为样本个数,值为+1或-1%训练支持向量机function svm = svmTrain(svmType,X,Y,ker,p1,p2)options = optimset; % Options是用来控制算法的选项参数的向量rgeScale = 'off';options.Display = 'off';switch svmTypecase 'svc_c',C = p1;n = length(Y);H = (Y'*Y).*kernel(ker,X,X);f = -ones(n,1); %f 为1*n 个-1,f 相当于Quadprog 函数中的c A = []; b = [];Aeq = Y; %相当于Quadprog 函数中的A1,b1 beq = 0;lb = zeros(n,1); %相当于Quadprog 函数中的LB ,UB ub = C*ones(n,1);a0 = zeros(n,1); % a0是解的初始近似值[a,fval,eXitflag,output,lambda] = quadprog(H,f,A,b,Aeq,beq,lb,ub,a0,options); %a 是输出变量,它是问题的解% Fval 是目标函数在解a 处的值 % Exitflag>0,则程序收敛于解x Exitflag=0,则函数的计算达到了最大次数 Exitflag<0,则问题无可行解,或程序运行失败% Output 输出程序运行的某些信息 %Lambda 为在解a 处的值Lagrange 乘子%支持向量机的数学表达式:()()Cy st X X K y y W i i li i j i j i j lj i i li i ≤≤=+-=∑∑∑===αααααα00:,21min 11,1(i=1 to L)Quadprog 函数:cx Hx x T+21minSt:()()()有界约束等式约束不等式约束UB x LB b x A b Ax ≤≤=≤11 因此,H = (Y'*Y).*kernel(ker,X,X)支持向量机的数学表达式中的最优解为T l),...,(***1ααα=,∑==li ii i x y W 1**α,)2/()*(*1*1*∑∑==-=i y i li i i x W B αα%寻找支持向量 a = svm.a;epsilon = 1e-8;i_sv = find(abs(a)>epsilon); %0<a<a(max)则认为x 为支持向量 plot(X(1,i_sv),X(2,i_sv),'ro');%构造测试数本[x1,x2] = meshgrid(-2:0.05:7,-2:0.05:7); %x1和x2都是181*181的矩阵 [rows,cols] = size(x1); %M=size(x1,1):返回x 数组的行数181 %N=size(x1,2):返回x 数组的列数181nt = rows*cols; Xt = [reshape(x1,1,nt);reshape(x2,1,nt)];%reshape(x1,1,nt)是将x1转成1*(181*181)的矩阵;所以Xt 是一个2*(181*181)的矩阵%测试输出tmp = (a.*Y)*kernel(ker,X,X(:,i_sv)); %∑==li i i i x X K y a tmp 1*),(b = 1./Y(i_sv)-tmp;b = mean(b); %∑=-=li j i i i x x K yi y b 1*),(αtmp = (a.*Y)*kernel(ker,X,Xt); %∑==li i i i x X K y a tmp 1*),( Xt 是要进行判别Yd = sign(tmp+b); %}),(sgn{)(1*∑=+=li i i i b X x K a y x f%分界面Yd = reshape(Yd,rows,cols)contour(x1,x2,Yd,[0 0],'m'); % Contour 函数:曲面的等高线图2.3 svm自己实现在当前数据挖掘和机器学习领域,最为热门的话题莫过于SVM和Boosting方法了。