问题描述
- KNN算法的训练样本和测试样本是什么?
-
我把 jaffe数据库的图片预处理之后分成了训练集和测试集,训练集70张,测试集70张,两个集合的每张图片是对应的,即是同一个人的同一种表情,其余73张图片删掉不用。我把每一张图片imread后reshape成一个行向量,即一张图片对应一个行向量,这样就形成了训练集矩阵 X和测试集矩阵 C。把 X和 C进行 fastica计算,得到 训练集的独立分量矩阵 icasigX和测试集的独立分量矩阵 icasigC。把 icasigX, icasigC,X和 C转置之后进行 X和 C向icasigX和 icasigC投影计算,得到投影系数矩阵 XTOU和 CTOU,这时它俩都是 70*70大小的一列为一个 X的投影系数的方阵。KNN算法有4个输入参数,我令 in等于XTOU转置,test等于 CTOU转置,out等于70*1的 X的类,k先设置为1,最后进行 KNN计算,即 target= KNN[in,out,test,k]。可是我把 k从1试到8,实验结果都差得离谱,说明我的思路是错误的。![图片](http://img.ask.csdn.net/upload/201605/22/1463887838_78938.jpg)![图片](http://img.ask.csdn.net/upload/201605/22/1463887940_644761.jpg)![图片](http://img.ask.csdn.net/upload/201605/22/1463887958_3632.jpg)
时间: 2024-09-22 19:09:52