Как я могу использовать PCA / SVD в Python для выбора функции и идентификации?
я следуюАнализ основных компонентов в Python использовать PCA под Python, но я борюсь с определениемкоторый возможности для выбора (то есть, какие из моих столбцов / функций имеют наибольшую дисперсию).
Когда я используюscipy.linalg.svd
, он автоматически сортирует мои значения Singular, поэтому я не могу сказать, к какому столбцу они принадлежат.
Пример кода:
import numpy as np
from scipy.linalg import svd
M = [
[1, 1, 1, 1, 1, 1],
[3, 3, 3, 3, 3, 3],
[2, 2, 2, 2, 2, 2],
[9, 9, 9, 9, 9, 9]
]
M = np.transpose(np.array(M))
U,s,Vt = svd(M, full_matrices=False)
print s
Есть ли другой способ сделать это без сортировки значений Singular?
Обновить: Похоже, что это может быть невозможно, по крайней мере, согласно этому посту на форумах Matlab:http://www.mathworks.com/matlabcentral/newsreader/view_thread/241607, Если кто-то знает иначе, дайте мне знать :)