BI Consult
  • Russian BI Исследование российских bi
  • Перейти на Fine BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • Отправить сообщение
  • Главная
  • Продукты Эксперт-BI
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Энергетика
    • Фармацевтика
    • Построение хранилища данных
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • Сквозная аналитика
  • Платформы
    • FineBI
    • FineReport
    • ATK BiView-1C коннектор
    • Airflow + NiFi
    • Visiology
    • Luxms BI
    • Modus BI
    • PIX BI
    • Arenadata
    • ClickHouse
    • Greenplum
    • Postgres Professional
    • Analytic Workspace + Alpha BI
    • FlyBI + Форсайт. Аналитическая Платформа
    • Loginom
    • Yandex.DataLens
    • Триафлай
    • ChatGPT
    • Open-source BI
  • Услуги
    • Переход на отечественные BI и DWH системы
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс для бизнес-аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Greenplum
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt (Data Build Tool)
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

BI

  • FineBI
  • FineReport
  • ATK BiView-1C Коннектор
  • Airflow
  • Visiology
  • Luxms BI
  • Modus BI
  • Analytic Workspace + Alpha BI
  • PIX BI
  • FlyBI + Форсайт. Аналитическая Платформа
  • Loginom
  • Yandex.DataLens
  • Триафлай
  • ChatGPT

СУБД

  • Arenadata
  • ClickHouse
  • Greenplum
  • Postgres Professional

Другое

  • Data Engeneering
    • Создание Data Lake
    • Создание Data Warehouse
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Курсы » Учебный курс по Data Science (ML, AI)

Пассивно-агрессивный классификатор в машинном обучении

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

 

Пассивно-агрессивный классификатор в машинном обучении

Пассивно-агрессивный классификатор – это алгоритм классификации, который относится к категории онлайн-обучения в машинном обучении. Так что же такое онлайн-обучение? Если вы никогда раньше не слышали об «онлайн-обучении», вы, должно быть, слышали, что контролируемое и неконтролируемое обучение являются основными категориями машинного обучения.

Помимо контролируемого и неконтролируемого, есть и другие категории машинного обучения, такие как:

  1. Обучение с подкреплением
  2. Пакетное обучение
  3. Онлайн-обучение
  4. Обучение на основе экземпляров
  5. Обучение на основе модели

 

Как новичок в машинном обучении, вы решаете задачи только с использованием алгоритмов контролируемого и неконтролируемого обучения. Это причина, по которой большинство практиков считают, что контролируемое и неконтролируемое обучение – единственные категории машинного обучения.

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

При онлайн-обучении модель машинного обучения обучается и развертывается в производственной среде таким образом, чтобы обучение продолжалось по мере поступления новых наборов данных. Таким образом, мы можем сказать, что такой алгоритм, как Пассивно-Агрессивный Классификатор, лучше всего подходит для систем, которые получают данные в непрерывном потоке.

 

Пассивно-агрессивный классификатор с использованием Python

Надеюсь, вы поняли, что такое пассивно-агрессивный классификатор в машинном обучении. Проще говоря, он остается пассивным для правильных прогнозов и агрессивно реагирует на неправильные прогнозы. Теперь давайте посмотрим, как реализовать пассивно-агрессивный классификатор с помощью языка программирования Python.

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

Набор данных

 

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()

data = pd.read_csv('news.csv')
print(data.head())

 

 

Подготовка данных:

Теперь давайте возьмем целевые значения из набора данных и посмотрим, одинаково ли они распределены или нет:

 

labels = data.label
print(labels.head())

target = data.label.value_counts()
print(target)

sns.countplot(data.label)
plt.title("Distribution of Real and Fake News")
plt.show()

 

Результат:

0    FAKE

1    FAKE

2    REAL

3    FAKE

4    REAL

Name: label, dtype: object

REAL    3171

FAKE    3164

 

 

Как видите, набор данных одинаково распределен с настоящими и фальшивыми новостями, давайте разделим данные на обучающий и тестовый наборы:

 

 # spliting the dataset
 from sklearn.model_selection import train_test_split
 xtrain, xtest, ytrain, ytest = train_test_split(data['text'],
  labels, test_size=0.2,
  random_state=7)

 

Поскольку мы работаем с набором данных, который содержит текстовые данные, необходимо удалить стоп-слова перед обучением модели:

 

from sklearn.feature_extraction.text import TfidfVectorizer
tfidf = TfidfVectorizer(stop_words='english', max_df=0.7)
train = tfidf.fit_transform(xtrain)
test = tfidf.transform(xtest)
 

Теперь давайте обучим модель обнаружения фейковых новостей с помощью алгоритма пассивной агрессии и проверим точность модели:Обучающий пассивно-агрессивный алгоритм:

 

from sklearn.linear_model import PassiveAggressiveClassifier
pac = PassiveAggressiveClassifier(max_iter=50)
pac.fit(train, ytrain)

ypred = pac.predict(test)

from sklearn.metrics import accuracy_score, confusion_matrix
accuracy = accuracy_score(ytest, ypred)
print(f'Accuracy Score of Passive Aggresive Scassifier: {round(accuracy*100,2)}%')

 

Результат:

Оценка точности пассивно-агрессивного классификатора: 93,05%

 

Как видите, мы получили хорошую оценку точности около 93%, и это неплохо. Итак, мы заканчиваем это руководство распечаткой матрицы смешения нашей модели:

 

print(confusion_matrix(ytest, ypred, labels=["FAKE", "REAL"]))

 

Результат:

 [[589  49]

 [ 39 590]]

 

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

 

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

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

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

loading...

Решения

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

Клиенты
  • Ситилинк

    Электронный дискаунтер «Ситилинк» — один из крупнейших онлайн‑ритейлеров России (3‑е место по объему онлайн‑продаж в рейтинге Data Insight и Ruward 2016 года E‑commerce Index TOP‑100, 8 место в рейтинге Forbes «20 самых дорогих компаний Рунета — 2017»). На рынке работает 9 лет.

    В ассортименте дискаунтера более 50 000 наименований компьютерной цифровой, бытовой и садовой техники, офисной мебели и других товарных категорий. Более 700 мировых брендов в портфеле. Около 4 000 сотрудников по всей России

  • ИНВИТРО
    ИНВИТРО – крупнейшая частная медицинская компания в России, специализирующаяся на лабораторной диагностике и оказании других медицинских услуг.
     
    ИНВИТРО располагает 9 самыми современными лабораторными комплексами и крупнейшей в Восточной Европе сетью более чем из 900 медицинских офисов. Страны присутствия — Россия, Украина, Казахстан, Беларусь.
     
  • MoneyCare — кредитная платформа и сервис для ПОС-кредитования в магазинах, установленная в более чем 18 тысячах трейдинговых точек и сотрудничающая с 11 главными банками России.

  • Авиакомпания NordStar (АО «АК «НордСтар») – работает под данным брендом с 2008 г. и сейчас входит в топ-15 крупнейших российских авиакомпаний (данные Росавиации) с пассажирооборотом более 1 млн человек в год. АО «АК «НордСтар» выполняет и внутренние, и внешние рейсы, а ее основные хабы - Домодедово, Пулково и Емельяново. С 2021 года компания является базовым перевозчиком аэропорта Норильск.

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Энергетика
    • Фармацевтика
  • Услуги
    • Переход на отечественные BI и DWH
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Техническая поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Платформы
    • FineBI
    • FineReport
    • ATK BiView-1C Коннектор
    • Airflow + NiFi
    • Visiology
    • Luxms BI
    • Modus BI
    • PIX BI
    • Arenadata
    • ClickHouse
    • Greenplum
    • Postgres Professional
    • Analytic Workspace + Alpha BI
    • FlyBI + Форсайт. Аналитическая Платформа
    • Loginom
    • Yandex.DataLens
    • Триафлай
    • ChatGPT
    • Open-source BI
  • Курсы
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt
  • Функциональные решения
    • Построение хранилища данных
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • Сквозная аналитика
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
LinkedInYouTubeVkontakteFacebook
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru