variance explained & pca

87 visualizaciones (últimos 30 días)
Alberto Acri
Alberto Acri el 10 de En. de 2021
Comentada: Ive J el 15 de En. de 2021
Hi! I want to report in a graph the variances explained as a function of PCs as shown in the graph. I have used the function "pareto(ExplVar)" but only the first 10 are represented and not all (there are 20 PCs in total). How can I represent them all?
  2 comentarios
Anmol Dhiman
Anmol Dhiman el 13 de En. de 2021
Hi Alberto ,
Could you share your code for better resolution of the issue
Alberto Acri
Alberto Acri el 13 de En. de 2021
The code is long. I have considered
p = pareto(ExplVar)
where ExplVar is an array 10000x1.

Iniciar sesión para comentar.

Respuesta aceptada

Ive J
Ive J el 13 de En. de 2021
Editada: Ive J el 13 de En. de 2021
pareto only shows the first 10 bars at maximum. You can do it easily with help of cumsum:
[~, ~, ~, ~, explained] = pca(rand(100,20));
hold on
bar(explained)
plot(1:numel(explained), cumsum(explained), 'o-', 'MarkerFaceColor', 'r')
yyaxis right
h = gca;
h.YAxis(2).Limits = [0 100];
h.YAxis(2).Color = h.YAxis(1).Color;
h.YAxis(2).TickLabel = strcat(h.YAxis(2).TickLabel, '%');
  4 comentarios
Alberto Acri
Alberto Acri el 15 de En. de 2021
In this
[~, ~, ~, ~, explained] = pca(rand(100,20))
Should I introduce the PCs I found?
Ive J
Ive J el 15 de En. de 2021
If you are calculating PCs with MATLAB pca built-in function, it can also return explained variances of PCs (explained in above example). If you want to show these explained variances (cumulatively), use explained; otherwise use PC scores if you prefer. It depends on your purposes of course (even you can use anything else to plot), but regardless, you can use my above example to reproduce similar graphs as pareto does, but without it's limitations (i.e. max 10 bars).

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Dimensionality Reduction and Feature Extraction en Help Center y File Exchange.

Productos


Versión

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by