1

Я пытаюсь выполнить уменьшение размера, используя pca в Matlab. Из этого кода ниже я получаю коэффициент, счет, латентность и t-квадрат. Тем не менее, мне все еще нечетко, как уменьшить фактический размер из анализа pc. Что я хочу сделать, так это уменьшить число столбцов (изначально 3 в этом случае) до 1 или 2. Не могли бы вы рассказать мне, как это сделать?Как я могу уменьшить размер функции из PCA?

matrix = [ 1 2 3; 4 3 2; 1 3 5; 4 2 3; 1 2 3; 2 1 3]; 
[coeff, score, latent, tsquared] = pca(matrix); 

ответ

2

coeff ваша основная матрица компонентов, просто укоротить его, удалив столько столбцов (с конца!), Как вы хотите. Другими словами - для того, чтобы проецировать до 1 измерения, возьмите первый столбец coeff и умножьте на него свои данные. Если вы хотите проецировать до двух измерений - возьмите два первых столбца и умножьте их. Ваши данные N х d, коэфф является d х d, таким образом, если ограничить коэфф 2 колонок вы получаете

X  coeff_truncated = projected_data 
N x d  d x 2    N x 2 

по желанию.