您的位置:首页 > 编程语言 > MATLAB

使用matlab Statistical Toolbox 中Multivariate Analysis类别下的函数来做分类实验

2011-03-18 22:32 477 查看
matlab的功能很强大,各种toolbox中有丰富的函数,有了它们你不必亲自编写很多代码就可以展开相关实验。但是在浩瀚的toolbox函数库中,我们常常不知道已有现成的合适函数,反而自己苦苦coding了半天。本文正是为您介绍使用matlab statistical toolbox中自带的函数来做分类实验。

具体的方法和函数描述我就不赘述了。大家可以参看statistical toolbox的Demo,在Demo的Multivariate Analysis一栏下有个classification的页面,介绍的很详细。下面我只是抽其要点做个记录。

基于cross validation的分类实验流程(matlab中的例子是用cvpartition类来完成的,我不太喜欢用类,所以用了Bioinformatics Toolbox中的交叉验证样本集划分的函数crossvalind):

% 载入数据(设有X和Y分别表示样本特征和标签)

load filename;

sample_N = length(Y);

% 划分样本集

K = 10; % 设定交叉验证的fold数目

indices = crossvalind('Kfold', sample_N, K);

predictY = zeros(sample_N,1);

for i= 1:K

indxt_test = (indices == i);
indxt_train = ~indxt_test;

predictY(indxt_test ,1) = YourClassificationFunction(X(indxt_train ,:),Y(indxt_train ,:),X(indxt_test,:), ...);

end

C = confusionmat(Y,predictY); % 计算confusion matrix,什么性能指标都好算了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: