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

在mathworks找到的k最近邻分类器示例matlab代码无法理解,matlab,classification,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)]; 及 这是链接-> 有人能解释一下吗,因为这不仅对我有

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

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

这是链接->


有人能解释一下吗,因为这不仅对我有利,对其他人也有好处。

你的代码的第一行构建了一个向量训练集,从多元正态分布中提取,以[1]和[-1-1]为中心第一类的西格玛x和西格玛y的标准偏差分别为1和1,第二类的西格玛x和西格玛y的标准偏差分别为2和2。每组(或类)取100个向量

然后构造包含组标签的组向量:前100个来自类1(
repmat(1100,1)
实际上与
个(100,1)
)相同,第二个100个来自类2(
repmat(2100,1)=个(100,1)*2

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


您可能还习惯于在您不知道/不理解的函数上使用matlab帮助或doc函数。

+1获取帮助/doc注释。他/她可能已经这样做了,但我想在问题中看到一些证据。
sample = unifrnd(-5, 5, 100, 2);