Как стать автором
Обновить

Комментарии 3

например SVD или PCA.

Мммм, а есть ли между ними разница? По крайней мере с точки зрения критерия отбора информации SVD и PCA должны быть эквивалентны, разве нет?

Насколько я помню, PCA это более высокоуровневое понятие, и в частном случае может быть реализован через SVD. Я больше практик, поэтому приведу цитаты из документации; у sklearn.decomposition.PCA значится:
Linear dimensionality reduction using Singular Value Decomposition of the data to project it to a lower dimensional space. The input data is centered but not scaled for each feature before applying the SVD.
а у sklearn.decomposition.TruncatedSVD:
Contrary to PCA, this estimator does not center the data before computing the singular value decomposition. This means it can work with scipy.sparse matrices efficiently.
С точки зрения практики PCA вроде как лучше разделяет данные, но зато, как указано выше в цитате, TruncatedSVD может работать с разреженными матрицами, что иной раз очень экономит память и там, где PCA просто не может переварить данные, TruncatedSVD спокойно справляется. А разреженные матрицы гигантских размеров встречаются не так уж и редко — например, при обработке текстов в виде «мешка слов».
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории