资源简介

程序是用于解决多分类问题的“一对一”方法,程序中有个二分类接口是高斯过程分类器,用户可以进行修改,用什么分类器都可以。该程序是用MATLAB把一对一的思想写成了代码。

资源截图

代码片段和文件信息

function result=multiclassGP(trainXtrainYtestXsfellid)
% 该函数是基于one-vs-one方法的得到的处理多类问题的GP分类器
% trainX 训练样本的特征向量构成的n行m列矩阵,每一行是一个样本
% trainY 训练样本的标签构成的n行Q列矩阵,每一行对应一个样本,Q表示类别的个数,如果第i个样本属于第j类 则trainY(ij)=1且trainY(i:)中的其它元素都为-1
% testX 测试样本的特征向量构成的矩阵,每一行是一个样本
% sf ell分别表示协方差函数的参数 k(x^px^q) = sf^2 * exp(-(x^p - x^q)‘*inv(P)*(x^p -x^q)/2),where the P matrix is ell^2 times the unit matrix and sf^2 is the signal variance.
% id 后验概率分布逼近方法 取值 1、2、3分别对应 ‘infLaplace‘‘infEP‘‘infVB‘
% result预测结果
if nargin<=3sf = 1; ell = 0.5;  id=1; end; %如果没有输入参数 则采用默认参数值
[nm]=size(trainY); %训练样本集中样本的个数以及类别的个数
taskY=zeros

评论

共有 条评论