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)

SMOTE для устранения дисбаланса классов с Python

Устранение дисбаланса классов в машинном обучении с помощью SMOTE

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

 

Введение в дисбаланс классов

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

Производительность обычно оценивается с использованием точности прогнозирования. Однако такой подход не годится, если данные несбалансированы или стоимость различных ошибок сильно различается.

Сообщество машинного обучения подошло к проблеме несбалансированности классов двумя способами. Во-первых, на обучающие примеры следует выделить отдельные расходы. А второй – повторная выборка исходного набора данных либо путем передискретизации класса меньшинства, либо путем дополнительной выборки класса большинства.

 

SMOTE для устранения классового дисбаланса

Со SMOTE, мы предлагаем подход с передискретизацией, при котором класс меньшинства подвергается передискретизации путем создания «синтетических» примеров, а не путем передискретизации с заменой.

Используя SMOTE, класс меньшинства подвергается передискретизации путем взятия каждой выборки класса меньшинства и введения синтетических примеров с линейными сегментами. Например, если необходимая передискретизация составляет 200%, выбираются только два соседа из пяти ближайших соседей, и выборка создается в направлении каждого из них.

 

SMOTE с использованием Python

Используя SMOTE, синтетические выборки генерируются следующим образом: берем разницу между рассматриваемым вектором признаков и его ближайшим соседом. Умножаем эту разницу на случайное число от 0 до 1 и добавляем его к рассматриваемому вектору признаков.

Это вызывает выбор случайной точки на отрезке линии между двумя конкретными объектами. Такой подход фактически вынуждает класс меньшинства принимать более общие решения.

Теперь давайте посмотрим, как использовать SMOTE для устранения дисбаланса классов с помощью языка программирования Python. Я начну с импорта необходимых библиотек Python:

 

import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from time import time
from collections import Counter
from imblearn.over_sampling import SMOTE
from sklearn.datasets import make_classification

 

Теперь давайте проклассифицируем данные перед использованием SMOTE:

 

X, y = make_classification(n_samples=100, n_features=2,
                           n_informative=2, n_redundant=0,
                           n_classes=2, weights=[0.2, 0.8],
                           class_sep=0.95, random_state=0)
                          
plt.figure(figsize=(12, 8))
plt.title('Repartition before SMOTE')
plt.scatter(X[y==1][:, 0], X[y==1][:, 1], label='class 1')
plt.scatter(X[y==0][:, 0], X[y==0][:, 1], label='class 0')
plt.legend()
plt.grid(False)
plt.show()

 

 

Теперь посмотрим, что мы получим после использования SMOTE:

 

smt = SMOTE()
X_smote, y_smote = smt.fit_resample(X, y)
plt.figure(figsize=(12, 8))
plt.title('Repartition after SMOTE')
plt.scatter(X_smote[y_smote==1][:, 0], X_smote[y_smote==1][:, 1], label='class 1')
plt.scatter(X_smote[y_smote==0][:, 0], X_smote[y_smote==0][:, 1], label='class 0')
plt.legend()
plt.grid(False)
plt.show()

 

 

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

 

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

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

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

loading...

Решения

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

Клиенты

  • Си-Проджект

    Анализ регулярности клиентов; модель прогнозирования продаж; анализ эффективности маркетинговых акций аналитика по акциям «Trade» и «BTL»; анализ вторичных продаж сетей;  анализ потенциала дистрибуторов.

  • STADA Arzneimittel AG — это международная группа компаний, один из ведущих игроков на мировом фармацевтическом рынке, чья продукция представлена более чем в 130 странах, в том числе в России и СНГ. Создано BI решение в области: Продажи, Анализ складских запасов, Анализ персонала

  • Concept Club
    Детализированный план-фактный анализ продаж и прибыли в разрезах магазинов/регионов/брендов/номенклатурных групп/коллекций/SKU с детализацией до дня
    Сравнительный Like-for-like анализ продаж по показателям товарооборот, прибыль, средний чек, проходимость, конверсия и т.д. в разрезах (Факт/Факт и План/Факт)
    Факторный анализ продаж, расходов, себестоимости, маржинальности
    Отчет по контролю корректности расчетов по поконтрольным значениям
    Построение трендов продаж для оценки адекватности планирования
    Отчет P&L консолидированный и по регионам/бизнес-юнитам/брендам/юр.лицам
    Прогноз P&L на текущий месяц с индикацией по контрольным значениям с возможносью создания версий и внесения корректировок 
    Отчет "Cash-Flow" консолидированный и по юр.лицам
    Отчет "Баланс" консолидированный и по юр.лицам
    Совмещенное товарное планирование ("пилы/кривулины"): реализация интерактивной модели товародвижения в разрезах, анализ жизненного цикла товаров, планирование уценок (скрытых/открытых)
    Совмещенный анализ оборачиваемости и среднего товарного запаса в разрезах.
  • Fort Group
    Компания FORTGROUP – один из лидеров рынка коммерческой недвижимости Северо-Запада.
  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Банки
    • Страхование
    • Фармацевтика
    • Лизинг
    • Логистика
    • Медицина
    • Нефтегазовый сектор
    • Сеть ресторанов
  • Продукты
    • 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