PCA是机器学习的入门算法之一,涉及到线性代数中矩阵的相关知识,基础理论比较多,主要涉及到奇异值分解。基础理论这里不多说了,大家可以去以下博客学习,用例子说明是最轻松的理解过程。
主成分分析原理详解:https://blog.csdn.net/program_developer/article/details/80632779
这篇文章从基向量变换的方向说明降维,更加直白理解pca:https://blog.csdn.net/shizhixin/article/details/51181379
如果你看完了上面的pca基础理论,并且学习了一些小基础,想找个练手的例子,那么来这里看就对了。
第一个例子,自己写pca函数实现图像的降维。这里是对图像的列进行降维,即宽度上进行压缩。
网上找的喵主子是这样的:
首先我们用载入函数将它转换成灰度图像
def loadImage(path):
img = Image.open(path)
# 将图像转换成灰度图
img = img.convert("L")
# 图像的大小在size中是(宽,高)
# 所以width取size的第一个值,height