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)

Кластеризация DBSCAN в машинном обучении

Алгоритм кластеризации DBSCAN в машинном обучении с использованием Python

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

 

Что такое кластеризация?

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

В машинном обучении самые популярные следующие алгоритмы кластеризации:

  1. К-средние
  2. DBSCAN
  3. Агломеративная кластеризация
  4. BIRCH
  5. Средний сдвиг
  6. Распространение аффинности
  7. Спектральная кластеризация.

 

В следующем разделе я сначала познакомлю вас с концепциями алгоритма кластеризации DBSCAN, а затем мы увидим, как реализовать его с помощью Python.

 

Кластеризация DBSCAN в машинном обучении

Алгоритм кластеризации DBSCAN основан на концепции образцов ядра, неосновных образцов и выбросов:

  1. Образцы ядра: образцы, представленные в области с высокой плотностью, имеют минимальное количество точек выборки с радиусом eps.
  2. Образцы не ядра: образцы близкие к образцам ядра, но не являющиеся образцами ядра, а находящиеся очень близко к образцам ядра. Образцы не ядра лежат в радиусе eps от образцов ядра, но у них нет минимальных точек отбора проб.
  3. Выбросы: образцы, которые не являются частью образцов ядра и образцов не ядра, и находящиеся далеко от всех образцов.

 

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

 

Кластеризация DBSCAN с использованием Python

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

Набор данных

 

import numpy as np
import pandas as pd
from sklearn.cluster import DBSCAN
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt

data = pd.read_csv("general.csv")
data.head()

 

 

Набор данных содержит больше столбцов

Прежде чем двигаться дальше, давайте взглянем на нулевые значения в наборе данных:

 

data.isnull().sum()
CUST_ID                               0
BALANCE                               0
BALANCE_FREQUENCY                     0
PURCHASES                             0
ONEOFF_PURCHASES                      0
INSTALLMENTS_PURCHASES                0
CASH_ADVANCE                          0
PURCHASES_FREQUENCY                   0
ONEOFF_PURCHASES_FREQUENCY            0
PURCHASES_INSTALLMENTS_FREQUENCY      0
CASH_ADVANCE_FREQUENCY                0
CASH_ADVANCE_TRX                      0
PURCHASES_TRX                         0
CREDIT_LIMIT                          1
PAYMENTS                              0
MINIMUM_PAYMENTS                    313
PRC_FULL_PAYMENT                      0
TENURE                                0
dtype: int64

 

Итак, у нас есть несколько нулевых значений в столбце «Максимальные выплаты». Я заполню эти значения средними значениями, и здесь я также удалю столбец идентификатора клиента, поскольку он тут бесполезен:

 

 data = data.drop('CUST_ID', axis=1)
 data.fillna(data.mean(), inplace=True)

 

Теперь давайте промасштабируем и нормализуем набор данных:

 

     # scaling and normalizing the dataset
    scaler = StandardScaler()
    x_scaled = scaler.fit_transform(data)
    from sklearn.preprocessing import normalize
    x_normal = normalize(x_scaled)
    x_normal = pd.DataFrame(x_normal)

 

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

 

     # reduce the dimensionality of the dataset
    pca = PCA(n_components=2)
    x_principal = pca.fit_transform(x_normal)
    x_principal = pd.DataFrame(x_principal)
    x_principal.columns = ['V1', 'V2']
    print(x_principal.head())

 

      V1        V2

0 -0.489825 -0.679678

1 -0.518791  0.545012

2  0.330885  0.268978

3 -0.482374 -0.092110

4 -0.563289 -0.481915

 

А сейчас давайте реализуем алгоритм DBSCAN и посмотрим на данные и кластеры после его реализации:

 

 dbscan = DBSCAN(eps=0.036, min_samples=4).fit(x_principal)
 labels = dbscan.labels_
 data['cluster'] = dbscan.labels_
 print(data.tail())

 

 Результат:

 

BALANCE   

BALANCE_FREQUENCY

... 

TENURE 

cluster

8945

28.493517          

1.000000 

...      

6

0

8946

19.183215          

1.000000 

...      

6

0

8947

23.398673          

0.833333 

...      

6

0

8948

13.457564          

0.833333 

...      

6

0

8949

372.708075          

0.666667 

...      

6

0

[5 rows x 18 columns]

 

 

clusterColor = {0: u'yellow', 1: u'green', 2: 'blue', -1: u'red'}
colors = [clusterColor[label] for label in labels]
plt.figure(figsize=(12, 10))
plt.scatter(x_principal['V1'], x_principal['V2'], c=colors)
plt.title("Implementation of DBSCAN Clustering", fontname="Times New Roman",fontweight="bold")
plt.show()

 

 

Резюме

Алгоритм кластеризации DBSCAN – это очень простой и мощный алгоритм кластеризации в машинном обучении. Он может идентифицировать любой кластер любой формы. Он устойчив к выбросам и имеет только два гиперпараметра. Ему может быть трудно правильно захватить кластеры, если плотность кластеров значительно возрастет.

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

 

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

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

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

loading...

Решения

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

Клиенты

  • Модуль Экономика ТМ Системы бизнес-анализа на базе платформы QlikView предназначен для расшифровки информации о продажах, расходах и прибыли товарного ассортимента ООО «Комус» в разрезе от общего к частному (по товарным рынкам, категориям, отварным матрицам, ассортиментным группам, артикулам в разрезах каналов, регионов, признаков за различные временные периоды и предоставления возможности по анализу этих данных с использованием графических и табличных представлений. 

  • Материк

    Реализованные модули: анализ соответствия системы менеджмента качества (СМК); анализ товарного запаса; анализ оборачиваемости задолженностей; анализ клиентской базы.

  • Система управленческой отчетности (Баланс, Отчет о прибылях и убытках, Дэшборды по показателям отчетности) в QlikView

  • Arla Foods

    Анализ комплекса показателей продаж во всех разрезах (в т.ч. по каналам, по регионам, по категориям товаров, с детализацией до SKU, до клиента, до менеджера, до даты)

    Реализация отчетов: Sales Contribution Report; Отчет по отгрузкам после пересчета  (в т.ч. анализ возвратов, бонусов, себестоимости, прибыли, рентабельности и т.д.)

    Анализ листинга

    Планирование акций и расчет скидок по акциям

    План-фактный анализ продаж (до год/мес/SKU)

    План-фактный анализ заказа на день (по территориальным представителям)

    ABC-XYZ-анализ (по ассортиментному справочнику до SKU, по клиентам)

    Сравнительный анализ продаж по периодам (в т.ч. like for like, YTD)

    Анализ эффективности работы региональных представителей

    Конструктор отчетов

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Банки
    • Страхование
    • Фармацевтика
    • Лизинг
    • Логистика
    • Медицина
    • Нефтегазовый сектор
    • Сеть ресторанов
  • Продукты
    • 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