BI Consult
  • Перейти на QlikSense
  • Перейти на QlikView
  • Перейти на Tableau
  • Перейти на Power BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • EN
  • Отправить сообщение
  • Главная
  • Продукты Business-Qlik
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • Энергетика
    • Фрод-менеджмент
    • E-Commerce
    • Фармацевтика
    • Построение хранилища данных
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • Process Mining
    • Сквозная аналитика
  • Платформы
    • Qlik Sense
    • QlikView
    • Tableau
    • Microsoft Power BI
    • Геоаналитика Qlik GeoAnalytics
    • Qlik NPrinting - рассылка отчетности QlikView/Qlik Sense
    • KliqPlanning Suite - бюджетирование в QlikView
    • ATK BiView-1C Коннектор (для Qlik/Tableau/PowerBI)
    • QlikView/Qlik Sense SAP Коннектор
    • QlikView R-Коннектор
    • Qlik Web Connectors - коннектор Google, Facebook, Twitter
    • Vizlib Qlik Sense extentions (библиотека экстеншнов)
    • Библиотека extention для Qlik
    • Qlik Alerting
    • Qlik Data Integration Platform - создание Data Lake
    • Qlik Data Catalog решение для Data Governance
    • ATK BiView документация
  • Услуги
    • Консалтинг
    • Пилотный проект
    • План обучения и сертификации
    • Подготовка специалистов по Qlik
    • Бесплатное обучение Qlik
    • Сертификация Qlik
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • Аудит приложений Qlik и Tableau
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс по Qlik Sense
    • Учебный курс по Tableau
    • Учебный курс по Microsoft Power BI
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс для бизнес-аналитиков
    • Учебный курс по NPrinting
    • Учебный курс по BigQuery
    • Учебный курс по Azure Databricks
    • Учебный курс по DWH
    • Учебный курс по Data Governance
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс администратора Qlik Sense
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

QlikView / Qlik Sense

  • Qlik Sense
    • Возможности Qlik Sense
    • Qlik Sense Enterprise
    • Qlik Sense Desktop
    • Qlik Sense Saas облачная инфраструктура для компаний
    • Источники данных и хранение данных
    • Безопасность и разграничение прав доступа
    • Масштабируемость
    • Политика лицензирования Qlik Sense
    • Qlik Sense November 2021: новые возможности
    • Географические карты в Qlik Sense
    • Qlik Sense Cloud / Qlik Sense в облаке
    • Учебное пособие по Qlik Sense
  • QlikView
    • Архитектура
    • Отличия QlikView от традиционных BI-систем
    • Политика лицензирования QlikView
    • Системные требования и сайзинг
    • Отличие от OLAP-систем
    • QlikView on Mobile
    • Qlik и Big Data
    • Демонстрационные примеры
    • QlikView в "облаке" (Amazon) / QlikView in the cloud
    • Интеграция QlikView с Microsoft SharePoint
    • Учебное пособие по QlikView
    • Что такое QlikView Publisher
    • QlikView Extranet Server и дистрибуция отчетности внешним пользователям
  • Qlik Data Catalog
  • Qlik Alerting
  • Qlik Data Integration Platform
  • Add-ons для QlikView
    • Vizlib Qlik Sense extentions (библиотека экстеншнов)
    • QlikView/Qlik Sense ATK BiView-1C Коннектор
    • Документация ATK BiView
    • Qlik NPrinting
    • Геоаналитика Qlik GeoAnalytics
    • GeoQlik
    • KliqPlanning Suite
    • QlikView/Qlik Sense SAP Коннектор
    • QlikView R-Коннектор
    • Qlik Web Connectors
    • QlikView Cognos TM1 Коннектор
    • Визуализация графов в Qlik Sense с помощью Ogma / Linkurious
  • Учебный курс по Qlik Sense

Tableau

  • Tableau
    • Tableau Desktop
    • Tableau Server
    • Tableau Prep
    • Технологии
    • Источники данных Tableau
    • Безопасность в Tableau
    • Политика лицензирования
    • Tableau 2021: новые возможности
    • Сравнение продуктов Tableau (Desktop, Server, Online, Public)
    • Демонстрационные примеры
    • Учебный портал Tableau
    • Коробочное решение "Мониторинг Tableau Server"
    • Чем отличаются Tableau Reader и Viewer?
  • Учебный курс по Tableau

Другое

  • Microsoft Power BI
    • Power BI Desktop
    • Power BI Report Server
    • Отраслевые решения Microsoft Power BI
    • Политика лицензирования Microsoft Power BI
    • Power BI Mobile
    • Учебные курсы Microsoft Power BI
    • Архитектура Power BI
    • Обработка данных в Power BI
    • Аудит системы Power BI
  • Учебный курс по Microsoft Power BI
  • Alteryx
    • Alteryx Designer
    • Инструменты Alteryx Designer
    • Alteryx Server
    • Alteryx Analytics Gallery
    • Alteryx. Создание приложения, workflow, ETL
  • Data Engeneering
    • Создание Data Lake
    • Создание Data Warehouse
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Курсы » Учебный курс по Data Science (ML, AI)

Анализ главных компонентов в машинном обучении

Анализ главных компонентов (PCA) – это алгоритм уменьшения размерности. PCA – один из самых простых и интуитивно понятных способов уменьшить размеры набора данных. В этой статье я покажу вам анализ основных компонентов в машинном обучении и его реализацию с использованием Python.

 

Анализ главных компонентов

В машинном обучении анализ главных компонентов (PCA) является самым широко используемым алгоритмом для уменьшения размерности. Он работает, определяя ближайшую к набору данных гиперплоскость, а затем просто проецирует на нее данные. PCA выбирает ось, которая сохраняет максимальное количество отклонений, потому что это ось, которая минимизирует среднеквадратичную ошибку между исходными данными и их проекциями на ось. Так работает анализ главных компонентов.

Он определяет ось, которая представляет наибольшую вариативность обучающих данных. Затем он находит вторую ось, которая ортогональна первой оси, и представляет наибольшую величину оставшейся дисперсии.

Для каждого основного компонента PCA находит единичный вектор с центром в нуле, указывающий в направлении основного компонента. Поскольку два противоположных вектора лежат на одной оси, направления единичных векторов, возвращаемых PCA, нестабильны. В некоторых случаях пара единичных векторов может вращаться или переворачиваться, но плоскость, которую они представляют, обычно остается той же самой.

 

Виды PCA

Есть четыре метода реализации PCA:

  1. Стандартный PCA: Стандартный PCA – это версия по умолчанию, но она работает только в том случае, если данные умещаются в памяти.
  2. Инкрементный PCA: инкрементный PCA полезен для больших наборов данных, которые не помещаются в памяти стандартного PCA, но он медленнее, чем обычный PCA, поэтому, если данные умещаются в памяти, вы должны использовать стандартный PCA. Инкрементальный PCA полезен для онлайн-задач, когда вам нужно на лету уменьшать размеры набора данных каждый раз, когда приходит новая выборка данных.
  3. Рандомизированный PCA. Рандомизированный PCA очень полезен, когда вы хотите резко уменьшить размерность, и чтобы набор данных умещался в памяти. В таких случаях он работает быстрее, чем стандартный анализ главных компонент.
  4. Kernal PCA: Kernal PCA предпочтительнее, только если набор данных является нелинейным.

 

Анализ главных компонентов с использованием Python

Чтобы реализовать анализ основных компонентов с помощью Python, мы можем использовать класс PCA, предоставляемый библиотекой Scikit-Learn на Python. Вот как мы можем реализовать анализ главных компонентов с помощью Python, чтобы уменьшить размерность данных:

 

import numpy as np
np.random.seed(4)
m = 60
w1, w2 = 0.1, 0.3
noise = 0.1

angles = np.random.rand(m) * 3 * np.pi / 2 - 0.5
X = np.empty((m, 3))
from sklearn.decomposition import PCA

pca = PCA(n_components = 2)
X2D = pca.fit_transform(X)
print(X2D)

 

Результат:

 [[-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79207044e+256]

 [-1.31210990e+275 -1.79130276e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275  5.25933599e+257]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -2.90503278e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79147236e+256]

 [-1.31210990e+275 -1.79166311e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205612e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275  5.25908783e+257]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79165620e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205511e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -3.71913271e+256]

 [-1.31210990e+275 -1.79116717e+256]

 [-1.31210990e+275 -1.79205612e+256]

 [ 7.74144843e+276 -1.02176393e+241]

 [-1.31210990e+275 -1.79205512e+256]

 [-1.31210990e+275 -1.79205512e+256]]

 

При реализации PCA вы должны знать, что этот алгоритм предполагает, что набор данных сосредоточен вокруг источника. Класс PCA, предоставляемый scikit-learn, заботится о центрировании данных вокруг источника. Но если вы хотите реализовать его без использования Scikit-learn, не забудьте сначала отцентрировать данные. Вот как можно реализовать анализ основных компонентов с помощью Python без использования библиотеки scikit-learn:

 

X_centered = X - X.mean(axis=0)
U, s, Vt = np.linalg.svd(X_centered)
c1 = Vt.T[:, 0]
c2 = Vt.T[:, 1]

m, n = X.shape

S = np.zeros(X_centered.shape)
S[:n, :n] = np.diag(s)

np.allclose(X_centered, U.dot(S).dot(Vt))
W2 = Vt.T[:, :2]
X2D = X_centered.dot(W2)
print(X2D)

 

Результат:

 [[-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76220325e+256]

 [-1.31210990e+275  1.76143556e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275 -5.26232271e+257]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  2.87516558e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76160516e+256]

 [-1.31210990e+275  1.76179592e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218893e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275 -5.26207455e+257]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76178901e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76222579e+256]

 [-1.31210990e+275  1.76218793e+256]

 [-1.31210990e+275  3.68926551e+256]

 [-1.31210990e+275  1.76129997e+256]

 [-1.31210990e+275  1.76218893e+256]

 [ 7.74144843e+276  1.76216447e+256]

 [-1.31210990e+275  1.76218792e+256]

 [-1.31210990e+275  1.76218792e+256]]

 

Резюме

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

Надеюсь, вам понравилась эта статья об анализе основных компонентов в машинном обучении и его реализации с использованием Python.

 

Узнать стоимость решенияЗапросить видео презентацию

Запросить видео презентацию Запросить доступ к демо стенду online Узнать стоимость лицензий

Задать вопрос

loading...

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты

  • Лицензии Qlik Sense, администрирование и поддержка сервера Qlik Sense, обучение специалистов Qlik Sense

  • InterZet

    Анализ деятельности отдела маркетинга; сегментация клиентских баз; расчет специфичных показателей эффективности деятельности компании сегмента telecom

  • Сбер банк

    В 2016 году в ПАО «Сбербанк» стартовало внедрение BI-платформы Qlik, которая уже стала инструментом принятия решений на основе данных для более чем 20 тысяч сотрудников розничного бизнеса банка.

  • Hedge Fund Architect
    Специфический бизнес-анализ деятельности хедж-фондов на основе QlikView.
  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Банки
    • Страхование
    • Фармацевтика
    • Лизинг
    • Логистика
    • Медицина
    • Нефтегазовый сектор
    • Сеть ресторанов
  • Продукты
    • Qlik Sense
    • QlikView
    • Tableau
    • Microsoft Power BI
    • ATK BiView-1C Коннектор (для Qlik/Tableau/PowerBI)
    • Vizlib Qlik Sense extentions (библиотека экстеншнов)
    • NPrinting
    • Геоаналитика Qlik GeoAnalytics
    • KliqPlanning Suite
    • Qlik WebConnectors
    • QlikView R Коннектор
    • QlikView/Qlik Sense SAP Коннектор
    • Alteryx
    • Qlik Data Catalog
    • Документация ATK BiView
  • Услуги
    • Консалтинг
    • Пилотный проект
    • Поддержка
    • План обучения и сертификации Qlik
    • Бесплатное обучение
    • Учебные курсы
    • Сертификация Qlik
    • Аудит приложений
  • Курсы
    • Учебный курс по Qlik Sense
    • Учебный курс по Tableau
    • Учебный курс по Microsoft Power BI
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс по NPrinting
    • Учебный курс по Azure Databricks
    • Учебный курс по Google BigQuery
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
  • Функциональные решения
    • Продажи
    • Финансы
    • Склад
    • HR
    • S&OP и прогнозная аналитика
    • Внутренний аудит
    • Геоаналитика
    • Категорийный менеджмент
    • Построение хранилища данных
    • Система управления KPI и BSC
    • Управление цепочками поставок
    • Маркетинг
    • Цифровая трансформация
    • Сквозная аналитика
    • Process Mining
QlikView Partner
LinkedInYouTubeVkontakteFacebook
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru