PCA — стандартный способ уменьшить размерность данных (1000 фичей →…
PCA — стандартный способ уменьшить размерность данных (1000 фичей → 50). Главная боль: нужно выбирать
🔘Сама определяет, где заканчивается сигнал и начинается шум
🔘Отрезает лишнее без ручного подбора
🔘Один проход вместо кросс-валидации
➡️ Бонус для больших данных
PCA требует центрирования матрицы. Если матрица разреженная (sparse), центрирование делает её плотной — память взрывается. Библиотека умеет считать PCA на sparse-матрицах без этой проблемы.
Использование
Drop-in замена sklearn — работает в Pipeline.
📎 Код на GitHub, доки
@zen_of_python
n_components — сколько компонент оставить. Обычно либо перебор через GridSearch, либо «ну возьму 50, должно хватить». Библиотека randomized-svd решает проблему автоматически.🔘Сама определяет, где заканчивается сигнал и начинается шум
🔘Отрезает лишнее без ручного подбора
🔘Один проход вместо кросс-валидации
➡️ Бонус для больших данных
PCA требует центрирования матрицы. Если матрица разреженная (sparse), центрирование делает её плотной — память взрывается. Библиотека умеет считать PCA на sparse-матрицах без этой проблемы.
Использование
from randomized_svd import RandomizedSVD
rsvd = RandomizedSVD(n_components=100, rank_selection='auto')
X_reduced = rsvd.fit_transform(X) # сама выберет сколько компонент нужноDrop-in замена sklearn — работает в Pipeline.
📎 Код на GitHub, доки
@zen_of_python
Просмотры: 23