PCA - это модное слово, которое всегда появляется на многих этапах анализа данных для различных целей. Но что на самом деле стоит за этим анализом основных компонентов? Какая от этого польза? Посмотрим по одному.

Во-первых, давайте разберемся, что происходит за экраном под названием PCA. Я прикрепил блокнот Jupyter с примерами внизу статьи.

Шаг 1. Декорреляция точек данных

  • Какова размерность этого графика? (Рисунок 1)

Да, вы правы, это двухмерный график.

  • Что вы думаете об этом (Рис. 2) графике?

Да, это одномерный график, потому что для каждого x значение y одинаково.

Давайте перейдем к непростому вопросу - если вы догадаетесь, то вы успешно прошли первый шаг в PCA.

Если вы говорите 2D, нет, это неправильно. Это 1D - Что? Но как?

Да, если мы немного повернем ось, точки данных выровняются так же, как в нашем предыдущем случае (Рис. 2). Это делается в следующих подэтапах,

  • Поворачивает образцы данных, чтобы выровнять их с осью
  • Сдвиньте образцы данных, чтобы они имели среднее значение 0 (он перемещает центр оси в центр данных)
  • Он разместит главную ось в направлении, в котором данные изменяются больше, а вторую ось - в менее меняющемся направлении.
  • На этом этапе не будет потери информации, но корреляция между функциями будет потеряна.

Шаг 2. Уменьшение размерности

Одно из основных применений PCA - уменьшение размерности. Предположим, у вас есть десятки функций в вашем наборе данных. Но, к сожалению, мы можем только

  • Визуализируйте данные до 3D с помощью matplotlib
  • Для хранения большего количества данных с меньшим количеством корреляций требуется много места
  • Вычисление менее информативных данных бесполезно
  • Кроме того, они могут создавать проблемы для задач прогнозирования, т.е. делать прогнозы бессмысленными.

Поэтому нам нужно каким-то образом уменьшить шум данных и отфильтровать значимые функции s для нашей задачи. Здесь пригодится PCA.

  1. Когда мы применяем PCA к набору данных, сначала он будет декоррелировать и вращать набор данных, чтобы найти главное направление.
  2. Затем он будет измерять линейную корреляцию функций, значения от -1 до 1. Если значение равно 0, корреляции нет.
  3. PCA выровняет основные компоненты по оси вращения

Шаг 3: Внутреннее измерение

Внутренний размер - это количество функций, необходимых для аппроксимации набора данных. Это ключевая идея уменьшения габаритов. Если нам нужно уменьшить размер, мы должны знать, какие функции нам следует выбрать, а какими пренебречь.

Обычно PCA в Sklearn автоматически находит количество внутренних измерений. Он будет учитывать особенности PCA со значительными отклонениями. Мы также можем явно указать количество рассматриваемых компонентов.

  • Отменяет функции PCA с низкой дисперсией
  • Предполагает, что характеристики с высокой дисперсией информативны

Надеюсь, вы нашли общее представление о том, что происходит за экраном PCA. Пожалуйста, просмотрите этот Блокнот Jupyter за примерами, чтобы получить четкое представление. Если у вас есть что обсудить, свяжитесь со мной.

Https://github.com/Mathanraj-Sharma/Python/blob/master/PCA-Example/pca.ipynb

Иногда записные книжки python не загружаются в GitHub должным образом. В таких случаях загрузите Notebook и откройте его в локальной среде Jupyter.