我理解他们提供的第一个例子,因为他们清楚地解释了每一行中发生的事情。但是对于第二个例子,它通常是在实践中使用的那个,但是没有解释,并且我很难理解它:(。以下是我遇到问题的代码行
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
有人可以解释一下,因为这不仅对我有益,对所有其他人也有益。
答案 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函数。