TGViewer
Big Data Science [RU] Big Data Science [RU] @bdscience_ru · 1.62K subscribers
Post #156 398
🙌🏻Анализ главных компонент: 7 методов сокращения размерности в Scikit-Learn
Одна из главных проблем машинного обучения на больших наборах данных – это огромный размер вычислительных векторов. Поэтому способы снижения размерности для уменьшения количества переменных очень актуальны. Таким способом является анализ главных компонентов (PCA, Principal Component Analysis), суть которого в уменьшении размерности набора данных, сохранив при этом как можно больше «изменчивости», т.е. статистической информации.
PCA - это статистический метод преобразования данных большой размерности в данные низкой размерности путем выбора наиболее важных фич, которые собирают максимум информации о датасете. Фичи выбираются на основе отклонений, которые они вызывают в выходных данных. Признак, вызывающий наибольшую дисперсию, - это первый главный компонент. Признак, отвечающий за вторую по величине дисперсию, считается вторым главным компонентом и пр. Важно, что главные компоненты никак не связаны друг с другом. Помимо ускорения ML-алгоритмов, PCA позволяет визуализировать данные, проецируя их в более низкое измерение, чтобы отобразить в двухмерном или трехмерном пространстве.
Популярная Python-библиотека Scikit-learn включает модуль sklearn.decomposition.PCA, который реализован как объект-преобразователь для множества компонентов в методе fit(). Его также можно использовать для новых данных, чтобы проецировать их на эти компоненты. Чтобы воспользоваться методом PCA в библиотеке Scikit-Learn, следует выполнить 2 шага:
1. Инициализировать класс PCA, передав нужное количество компонентов конструктору;
2. вызвать методы подгонки, а затем преобразовать их, передав им набор фичей. Метод преобразования возвращает указанное количество основных компонентов.
Scikit-learn поддерживает несколько вариантов метода PCA:
• Kernel Principal Component Analysis (KPCA) - метод нелинейного уменьшения размерности с использованием ядра. Ядро PCA было разработано, чтобы помочь с классификацией данных, границы решения которых описываются нелинейной функцией. Идея состоит в том, чтобы перейти в пространство более высокого измерения, в котором граница принятия решения становится линейной. В модуле sklearn.decomposition есть разные ядра: линейное (linear), полиномиальное (poly), ядро гауссовой радиальной базисной функции (rbf), сигмоидальное (sigmoid') и пр. По умолчанию используется линейное (linear), что подходит, если данные линейно разделимы.
• Sparse PCA – разреженный вариант PCA, целью которого является извлечение набора разреженных компонентов, которые наилучшим образом восстанавливают данные. Обычно компоненты, извлеченные методом PCA, имеют исключительно плотные выражения, т.е. ненулевые коэффициенты как линейные комбинации исходных переменных. Это затрудняет интерпретацию результатов. На практике реальные главные компоненты можно более естественно представить как разреженные векторы, например, при распознавании лиц они могут отображать части лиц.
• Incremental Principal Component Analysis (IPCA) - инкрементный метод PCA, когда набор данных для декомпозиции слишком велик для размещения в памяти. IPCA строит приближение низкого ранга для входных данных, используя объем памяти, не зависящий от объема входной выборки. Он по-прежнему зависит от входных фичей, но изменение размера пакета позволяет контролировать использование памяти.
• Fast Independent Component Analysis (ICA) – быстрый независимый PCA используется для оценки источников с учетом зашумленных измерений и восстановления источников, поскольку классический PCA не работает с негауссовскими процессами.
More from @bdscience_ru
  1. Oct 1, 2026Перезапуск Microsoft Copilot как «суперприложения» Компания Microsoft официально представи…
  2. Sep 25, 2026Распознавание экрана (Onscreen Awareness) Siri научилась понимать, что происходит у вас на…
  3. Sep 15, 2026Reuters раскрыло инцидент со скоординированными действиями ИИ-агентов OpenAI: Расследовани…
  4. Aug 31, 2026Самая ужасная гавайская рубашка Немецкий дизайнер Симон Веккерт разработал гавайскую рубаш…
  5. Aug 25, 2026WeatherNext от Google DeepMind совершил прорыв в метеорологии! Новый ИИ прогнозирует тропи…
  6. Aug 15, 2026🧠 Enterprise AI наконец-то перестал быть «чатиком сбоку» OpenAI опубликовали два исследов…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →