PCA on a 3d Matrix

Hi. I have a data set of http://www.ehu.eus/ccwintco/index.php/Hyperspectral_Remote_Sensing_Scenes Indian Pines. Data set is a 145x145x200 matrix that 145x145 represents spatial dimensions, 200 represents feature dimensions. I wnat to do PCA dimension reduction but I can't figure out how to deal 3d matrix. If you could help me I would be appreciated. Thanks.

3 comentarios

Micheal Dennington
Micheal Dennington el 21 de Jun. de 2020
Yeah I saw that example but I couldn't understand that very much.
Sanchay Mukherjee
Sanchay Mukherjee el 31 de En. de 2022
Hi Michael,
Did you figure out hte solution? I am trying to do a similar thing. I have a matrix of 200*500*3, where 200*500 is the data for corresponding 3 features.

Iniciar sesión para comentar.

Respuestas (1)

Subhadeep Koley
Subhadeep Koley el 16 de Nov. de 2020

0 votos

You can use the hyperpca function to achieve the same.
% Definenumber of principal components you require
numComponents = 10;
% Perform PCA transform
outputDataCube = hyperpca(indianPinesMatrix, numComponents);
The above mentioned feture comes under Image Processing Toolbox's Hyperspectral Imaging Library support package, and can be downloaded from here. For more information on Hyperspectral Imaging Library see the documentation.

Categorías

Preguntada:

el 20 de Jun. de 2020

Comentada:

el 31 de En. de 2022

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by