本文由公众号《湾区人工智能》提供,如果觉得不错,请扫码关注,了解更多Python和人工智能知识
sklearn对三维矩阵降维
思路:
把三维矩阵reshape成二维,然后对二维矩阵降维,然后把二维矩阵再次reshape成三维,实现如下数组
(640, 640, 128) --(640, 640, 3)
代码:
#https://blog.csdn.net/u012162613/article/details/42192293
#https://blog.csdn.net/puredreammer/article/details/52255025
#每次降维后结果不同呢:属于无监督学习,类似聚类一样;fit()可以说是scikit-learn中通用的方法,每个需要训练的算法都会有fit()方法,它其实就是算法中的“训练”这一步骤。因为PCA是无监督学习算法,此处y自然等于None。
#LDA,有监督学习 in contrast to PCA, is a supervised method, using known class labels.
from sklearn.decomposition import PCA
import numpy as np
import matplotlib.pyplot as plt
import scipy.io as sio
data = sio.loadmat('docia.mat') # docia.mat其实是128个640*64