k最近邻分类器示例在mathworks上找到的matlab代码无法理解

时间:2011-11-25 15:13:53

标签: matlab classification

我理解他们提供的第一个例子,因为他们清楚地解释了每一行中发生的事情。但是对于第二个例子,它通常是在实践中使用的那个,但是没有解释,并且我很难理解它:(。以下是我遇到问题的代码行

training = [mvnrnd([ 1  1],   eye(2), 100); ...
            mvnrnd([-1 -1], 2*eye(2), 100)];
group = [repmat(1,100,1); repmat(2,100,1)];

sample = unifrnd(-5, 5, 100, 2);

这是链接 - > http://www.mathworks.in/help/toolbox/bioinfo/ref/knnclassify.html

有人可以解释一下,因为这不仅对我有益,对所有其他人也有益。

1 个答案:

答案 0 :(得分:2)

您站点的代码的第一行构建一组矢量训练集,从多元正态分布中提取,分别以[1 1]和[-1 -1]为中心,sigma的标准偏差为1和1 x和sigma y代表第一个类,2和2代表sigma x和sigma y代表第二个类。为每个组(或类)提取100个这样的向量。

然后构建包含组标签的组向量:前100个来自1类(repmat(1,100,1)实际上与ones(100,1)相同),第二个100来自类2({{ 1}})。

您引用的第二个代码块实际上只生成一个包含100个随机数据行的矩阵,所有这些行都在[-5,5]范围内,具有2个维度(所以2列)。该矩阵用于测试分类。

你也可能习惯在你不了解/不理解的函数上使用matlab帮助或doc函数。