Sci-Kit узнать TruncatedSVD объяснил_variance_ratio_ не в порядке убывания? - PullRequest
0 голосов
/ 29 января 2019

Этот вопрос является в основном дубликатом этого вопроса - извиняюсь, поскольку я новичок здесь и не смог найти способ "поднять" этот другой вопрос, поэтому я задаю новыйодин.Но у меня точно такой же вопрос, и я не смог найти удовлетворительного объяснения.

Почему explained_variance_ratio_ из TruncatedSVD не в порядке убывания, как это было бы из PCA?По моему опыту кажется, что первый элемент списка всегда самый низкий, а затем у второго элемента значение скачет вверх, а затем идет в порядке убывания оттуда.Почему explained_variance_ratio_[0] <<code>explained_variance_ratio_[1] (> explained_variance_ratio_[2]> explained_variance_ratio_[3] ...)?Означает ли это, что второй «компонент» на самом деле объясняет наибольшую дисперсию (не первую)?

Код для воспроизведения поведения:

from sklearn.decomposition import TruncatedSVD

n_components = 50
X_test = np.random.rand(50,100)

model = TruncatedSVD(n_components=n_components, algorithm = 'randomized')
model.fit_transform(X_test)
model.explained_variance_ratio_
...