k最近邻搜索单元代替矩阵?

时间:2016-01-06 18:26:34

标签: algorithm matlab classification nearest-neighbor knn

我想找到一些数据集之间的欧氏距离。对于每个班级,我有大约50个学习或训练样本和5个测试样本。问题是每个样本的数据都存储在单元格中,并且是m * n格式而不是首选的1 * n格式。

我看到matlab有一个使用欧氏距离的k个最近邻居的内置函数; knnsearch。但问题是它希望样本采用行和列的形式。当提供单元格中的数据时,它会出错。

无论如何以我的数据所在的格式进行此分类?或者我更喜欢将它们转换为1-D格式(可能通过使用某种降​​维方式?)

假设有5个类/模型,每个类/模型由大小为32 * N的单元格表示,下面是来自Matlab的屏幕截图。每个单元格代表许多训练图像的特征,因此单元格1是人1的表示,依此类推。

enter image description here

现在同样我有需要识别的测试图像。每个测试图像的特征也在单元格中。所以我有10个未知图像,它们的特征被提取并存储在单元格中。每个单元格表示单个未知图像。下面是Matlab的屏幕截图,显示了它们的尺寸 enter image description here

可以看出,它们都是不同的维度。我知道这不是KNN的理想格式,因为这里每个图像都由多维矩阵而不是单行变量表示。如何对这些数据执行欧几里德距离?

谢谢

0 个答案:

没有答案