下载地址:https://github.com/13952522076/ORL3
下载时麻烦给个小星星,谢谢!尊重别人辛勤劳动哈。


@vision 3

@author:马旭
@tel:13952522076
@email:1007540910@qq.com


执行:执行predict.m文件;
结果:时间一般为0.2秒左右,正确率100%;(因为测试集比较少)




预处理数据preprocess:
  这个过程是首先将样本通过PCA降维提取信息,然后将降维后的样本通过LDA降维,分类为15类,所以降维后维数不能高于(15-1)类。这里降维到13维。


训练多分类multi:
  这里使用的是Maltas自带的svm。我们做的是one-vs-rest。将样本类别拆为第一类和其他类,第二类和其他类。。。
假若有n类样本,那么分类器既有n-1个。将分类器放入数组中,循环判别。


测试predict:
  我这里在one-vs-rest时,将1作为某一类,-1作为其他类,然后分类。这样每一个分类器分类对样本训练就会得到一个矩阵(大小应该为 样本个数X分类器个数),最后一列添加1向量。判断第几个出现1就是第几类。 这样做的目的是为了减少每个判断时候的for循环,防止嵌套for循环,提高运行速度。
Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐