Как стать автором
Обновить

Наивный Байесовский классификатор в 25 строк кода

Время на прочтение 3 мин
Количество просмотров 85K
Python *
Наивный Байесовский классификатор один из самых простых из алгоритмов классификации. Тем не менее, очень часто он работает не хуже, а то и лучше более сложных алгоритмов. Здесь я хочу поделиться кодом и описанием того, как это все работает.

И так, для примера возьму задачу определения пола по имени. Конечно, чтобы определить пол можно создать большой список имен с метками пола. Но этот список в любом случае будет неполон. Для того чтобы решить эту проблему, можно «натренировать» модель по маркированным именам.
Если интересует, прошу
под кат
Всего голосов 37: ↑37 и ↓0 +37
Комментарии 24

Yet another classifier

Время на прочтение 8 мин
Количество просмотров 12K
Python *Data Mining *Алгоритмы *

Вместо вступления


Лень — двигатель прогресса. Не хочешь сам молоть зерно — сделай мельницу, не хочешь сам кидать во врагов камни — сооруди катапульту, надоело гореть на кострах инквизиции и гнуть спину под феодалом — замути с ребятами ренессанс… впрочем, о чем это я.
Автоматизация, господа. Берешь какой-нибудь полезный процесс, в котором участвует человек, заменяешь человека на сложный механизм, получаешь профит. Относительно недавно также стало модно заменять человека куском кода. О, сколько благородных профессий может пасть под натиском информатизации. Особенно если учесть, что кусок кода в наше время способен не только на заранее определенное поведение, но и на «обучение» какому-то поведению.
Читать дальше →
Всего голосов 43: ↑36 и ↓7 +29
Комментарии 43

Классификация документов по их внешнему виду и содержанию

Время на прочтение 4 мин
Количество просмотров 11K
Блог компании Content AI Data Mining *
imageСегодня мы расскажем вам, как и зачем можно применять классификаторы для разделения и сортировки разных документов по их типам.

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

Но на этом работа классификаторов не заканчивается.
Читать дальше →
Всего голосов 33: ↑25 и ↓8 +17
Комментарии 8

Оптимизация гиперпараметров в Vowpal Wabbit с помощью нового модуля vw-hyperopt

Время на прочтение 8 мин
Количество просмотров 22K
Блог компании DCA (Data-Centric Alliance) Алгоритмы *Big Data *GitHub *Машинное обучение *
Привет, Хабр! В этой статье речь пойдет о таком не очень приятном аспекте машинного обучения, как оптимизация гиперпараметров. Две недели назад в очень известный и полезный проект Vowpal Wabbit был влит модуль vw-hyperopt.py, умеющий находить хорошие конфигурации гиперпараметров моделей Vowpal Wabbit в пространствах большой размерности. Модуль был разработан внутри DCA (Data-Centric Alliance).


Для поиска хороших конфигураций vw-hyperopt использует алгоритмы из питоновской библиотеки Hyperopt и может оптимизировать гиперпараметры адаптивно с помощью метода Tree-Structured Parzen Estimators (TPE). Это позволяет находить лучшие оптимумы, чем простой grid search, при равном количестве итераций.

Эта статья будет интересна всем, кто имеет дело с Vowpal Wabbit, и особенно тем, кто досадовал на отсутствие в исходном коде способов тюнинга многочисленных ручек моделей, и либо тюнил их вручную, либо кодил оптимизацию самостоятельно.
Читать дальше →
Всего голосов 24: ↑22 и ↓2 +20
Комментарии 6

Как использовать Python для «выпаса» ваших неструктурированных данных

Время на прочтение 8 мин
Количество просмотров 18K
Блог компании Издательский дом «Питер» Python *Программирование *Data Mining *Профессиональная литература *
Перевод
Здравствуйте, уважаемые читатели.

В последнее время мы прорабатываем самые разные темы, связанные с языком Python, в том числе, проблемы извлечения и анализа данных. Например, нас заинтересовала книга «Data Wrangling with Python: Tips and Tools to Make Your Life Easier»:



Поэтому если вы еще не знаете, что такое скрепинг, извлечение неструктурированных данных, и как привести хаос в порядок, предлагаем почитать перевод интересной статьи Пита Тамисина (Pete Tamisin), рассказывающего, как это делается на Python. Поскольку статья открывает целую серию постов автора, а мы решили пока ограничиться только ею, текст немного сокращен.

Если кто-то сам мечтает подготовить и издать книгу на эту тему — пишите, обсудим.
Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Комментарии 10

Простая технология классификации распознанных страниц деловых документов на основе метода Template Matching

Время на прочтение 13 мин
Количество просмотров 5.8K
Блог компании Smart Engines Программирование *Data Mining *Алгоритмы *Обработка изображений *

image


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

Читать дальше →
Всего голосов 9: ↑8 и ↓1 +7
Комментарии 4

Открытый курс машинного обучения. Тема 3. Классификация, деревья решений и метод ближайших соседей

Время на прочтение 33 мин
Количество просмотров 448K
Блог компании Open Data Science Python *Data Mining *Алгоритмы *Машинное обучение *

Привет всем, кто проходит курс машинного обучения на Хабре!


В первых двух частях (1, 2) мы попрактиковались в первичном анализе данных с Pandas и в построении картинок, позволяющих делать выводы по данным. Сегодня наконец перейдем к машинному обучению. Поговорим о задачах машинного обучения и рассмотрим 2 простых подхода – деревья решений и метод ближайших соседей. Также обсудим, как с помощью кросс-валидации выбирать модель для конкретных данных.


UPD 01.2022: С февраля 2022 г. ML-курс ODS на русском возрождается под руководством Петра Ермакова couatl. Для русскоязычной аудитории это предпочтительный вариант (c этими статьями на Хабре – в подкрепление), англоговорящим рекомендуется mlcourse.ai в режиме самостоятельного прохождения.

Читать дальше →
Всего голосов 63: ↑62 и ↓1 +61
Комментарии 49

Простой intent classifier

Время на прочтение 7 мин
Количество просмотров 5.5K
Ненормальное программирование *Машинное обучение *
В прошлый раз я научился использовать нейросети, чтобы понимать, что именно пользователь хочет добиться от бота. То, что у меня тогда получилось, обладало рядом недостатков. Во-первых, я ограничился только одним видом фраз. Во-вторых, я использовал тяжеловесный nmt, чтобы выцепить intent из фразы. При этом такую задачу обычно решают обычными классификаторами.
Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 2

Применение сверточных нейронных сетей для задач NLP

Время на прочтение 9 мин
Количество просмотров 56K
Блог компании Open Data Science Python *Data Mining *Машинное обучение *Natural Language Processing *
Когда мы слышим о сверточных нейронных сетях (CNN), мы обычно думаем о компьютерном зрении. CNN лежали в основе прорывов в классификации изображений — знаменитый AlexNet, победитель соревнования ImageNet в 2012 году, с которого начался бум интереса к этой теме. С тех пор сверточные сети достигли большого успеха в распознавании изображений, в силу того факта, что они устроены наподобие зрительной коры головного мозга — то есть умеют концентрироваться на небольшой области и выделять в ней важные особенности. Но, как оказалось, CNN хороши не только для этого, но и для задач обработки естественного языка (Natural Language Processing, NLP). Более того, в недавно вышедшей статье [1] от коллектива авторов из Intel и Carnegie-Mellon University, утверждается, что они подходят для этого даже лучше RNN, которые безраздельно властвовали областью на протяжении последних лет.

Сверточные нейронные сети


Для начала немного теории. Что такое свертка? Мы не будем на этом останавливаться подробно, так как про это написана уже тонна материалов, но все-таки кратко пробежаться стоит. Есть красивая визуализация от Стэнфорда, которая позволяет ухватить суть:

image
Источник
Читать дальше →
Всего голосов 71: ↑69 и ↓2 +67
Комментарии 29

Как отличить криптовалюту от не криптовалюты

Время на прочтение 5 мин
Количество просмотров 8.4K
Блог компании Distributed Lab Криптография *Монетизация IT-систем *Криптовалюты
Данный материал является умозаключением, которое, как мы считаем, может быть кому-то полезным. Популярность темы криптовалют привела к тому, что так стали называть даже те цифровые валюты, которые криптовалютами не являются. В этой статье мы постарались выделить основные свойства, которыми должна обладать криптовалюта, а также показать общее положение криптовалюты среди всех цифровых активов. Итак, приступим.
Читать дальше →
Всего голосов 21: ↑12 и ↓9 +3
Комментарии 78

Кодинг и тестирование kNN в Julia

Время на прочтение 5 мин
Количество просмотров 3.8K
Программирование *Алгоритмы *Julia *Машинное обучение *
Из песочницы


Новый язык в Data Science. В России Julia довольно редкий язык, хотя за рубежом его используют уже 5 лет (тоже мне, удивили). Источников на русском нет, поэтому я решила сделать показательный пример работы Julia, взятый из одной замечательной книги. Лучший способ выучить язык — начни что-то писать на нем. А чтобы это еще и привлекло внимание, используй machine learning.
Читать дальше →
Всего голосов 19: ↑15 и ↓4 +11
Комментарии 6

Как я понял, что ем много сладкого, или классификация товаров по чекам в приложении

Время на прочтение 7 мин
Количество просмотров 11K
Python *Data Mining *
Из песочницы

Задача


В этой статье мы хотим рассказать, как мы создали решение для классификации названий продуктов из чеков в приложении для учёта расходов по чекам и помощника по покупкам. Мы хотели дать пользователям возможность просматривать статистику по покупкам, собранную автоматически на основе отсканированных чеков, а именно распределить все купленные пользователем товары по категориям. Потому что заставлять пользователя самостоятельно группировать товары — это уже прошлый век. Есть несколько подходов для решения такой задачи: можно попробовать применить алгоритмы кластеризации с разными способами векторного представления слов или классические алгоритмы классификации. Ничего нового мы не изобрели и в этой статье лишь хотим поделиться небольшим гайдом о возможном решении задачи, примерами того, как делать не надо, анализом того, почему не сработали другие методы и с какими проблемами можно столкнуться в процессе.
Читать дальше →
Всего голосов 14: ↑11 и ↓3 +8
Комментарии 23

Как отличить хороший ремонт от плохого, или как мы в SRG сделали из Томита-парсера многопоточную Java-библиотеку

Время на прочтение 7 мин
Количество просмотров 2.7K
Блог компании SRG Open source *Java *Машинное обучение *Natural Language Processing *
В этой статье речь пойдет о том, как мы интегрировали разработанный Яндексом Томита-парсер в нашу систему, превратили его в динамическую библиотеку, подружили с Java, сделали многопоточной и решили с её помощью задачу классификации текста для оценки недвижимости.


Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Комментарии 16

SVM. Подробный разбор метода опорных векторов, реализация на python

Время на прочтение 15 мин
Количество просмотров 100K
Блог компании Open Data Science Python *Data Mining *Алгоритмы *Машинное обучение *

Привет всем, кто выбрал путь ML-самурая!


Введение:


В данной статье рассмотрим метод опорных векторов (англ. SVM, Support Vector Machine) для задачи классификации. Будет представлена основная идея алгоритма, вывод настройки его весов и разобрана простая реализация своими руками. На примере датасета $Iris$ будет продемонстрирована работа написанного алгоритма с линейно разделимыми/неразделимыми данными в пространстве $R^2$ и визуализация обучения/прогноза. Дополнительно будут озвучены плюсы и минусы алгоритма, его модификации.


image
Рисунок 1. Фото цветка ириса из открытых источников

Читать дальше →
Всего голосов 52: ↑51 и ↓1 +50
Комментарии 5

Сертификация по программе IBM Data Science Professional Certificate

Время на прочтение 11 мин
Количество просмотров 8.1K
Python *Визуализация данных *Машинное обучение *
Из песочницы

Статья является кратким обзором о сертификации по программе IBM Data Science Professional Certificate.


Будучи новичком в Python, мне пришлось столкнуться с реализацией задач:


  • Загрузка и парсинг HTML таблиц
  • Очистка загруженных данных
  • Поиск географических координат по адресу объекта
  • Загрузка и обработка GEOJSON
  • Построение интерактивных тепловых карт (heat map)
  • Построение интерактивных фоновых картограмм (choropleth map)
  • Преобразование географических координат между сферической WGS84 и картезианский системой координат UTM
  • Представление пространственных географических объектов в виде гексагональная сетки окружностей
  • Поиск географических объектов, расположенных на определенном расстоянии от точки
  • Привязка географических объектов к полигонам сложной формы на поверхности
  • Описательные статистический анализ
  • Анализ категорийных переменных и визуализация результатов
  • Корреляционный анализ и визуализация результатов
  • Сегментация с использованием k-Mean кластеризации и elbow метода
  • Анализ и визуализация кластеров
Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Комментарии 1

Распознавание мяча в волейболе с OpenCV и Tensorflow

Время на прочтение 4 мин
Количество просмотров 5.8K
Python *Обработка изображений *Искусственный интеллект TensorFlow *
После первого опыта распознавания спортивных движений у меня зачесались руки сделать что-нибудь еще в этом направлении. Домашняя физкультура уже казалась слишком мелкой целью, так что я замахнулся на игровые виды спорта.

Применение искусственного интеллекта к спорту — недавняя тенденция, но уже есть интересные материалы:


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

Сразу скажу, что с наскока распознать элементы игры получилось с невысокой точностью, так что пришлось придержать амбиции и пилить задачу по частям. И первая часть — про самый маленький, но необходимый объект.
Читать дальше →
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 8

Создание автоматической системы борьбы с злоумышленниками на сайте (фродом)

Время на прочтение 7 мин
Количество просмотров 1.4K
Анализ и проектирование систем *Big Data *Data Engineering *
Последние примерно полгода я занимался созданием системы борьбы с фродом (fraudulent activity, fraud, etc.) без какой-либо начальной инфраструктуры для этого. Сегодняшние идеи, которые мы нашли и реализовали в нашей системе, помогают нам обнаруживать множество мошеннических действий и анализировать их. В этой статье я хотел бы рассказать о принципах, которым мы следовали, и о том, что мы сделали для достижения текущего состояния нашей системы, не углубляясь в техническую часть.
Читать дальше →
Рейтинг 0
Комментарии 0

Новые возможности анализа табличных данных с алгоритмами машинного обучения в Elastic

Время на прочтение 20 мин
Количество просмотров 4.4K
Блог компании STEP LOGIC Информационная безопасность *Big Data *Визуализация данных *Машинное обучение *


Elastic stack, также известный как ELK Stack (аббревиатура из программных компонентов: Elasticsearch, Kibana и Logstash), — это платформа построения озера данных с возможностью аналитики по ним в реальном масштабе времени. В настоящее время широко применяется для обеспечения информационной безопасности, мониторинга бесперебойности и производительности работы ИТ-среды и оборудования, анализа рабочих процессов, бизнес-аналитики.


В соответствии со стратегией компании, исходный код всех продуктов Elastic является открытым, разработка ведётся публично, а базовые функции доступны бесплатно, что выгодно отличает платформу от конкурентов.


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

Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 2

Как работать с иерархической структурой классов

Время на прочтение 7 мин
Количество просмотров 4.2K
Блог компании Контур Программирование *Машинное обучение *Data Engineering *

Задача классификации - одна из самых известных в машинном обучении. Очень многие проблемы, решаемые с помощью ML, так или иначе сводятся к классификации — распознавание изображений, например. И все выглядит просто и понятно, когда нам нужно определить объект в один из нескольких классов. А что если у нас не плоская структура из нескольких классов, а сложная разветвленная иерархия на 683 категории? Именно о таком случае мы сегодня и поговорим. Под катом - рассказ о том, зачем в задачах классификации нужны сложные иерархии и как с ними жить.

Читать далее
Всего голосов 3: ↑2 и ↓1 +1
Комментарии 1

Анализ стадий волейбольной игры с помощью искуственного интеллекта

Время на прочтение 2 мин
Количество просмотров 3.5K
Python *Обработка изображений *Машинное обучение *Искусственный интеллект TensorFlow *

Распознаем стадии волебольной игры на основе детектора игроков.

Читать далее
Всего голосов 6: ↑4 и ↓2 +2
Комментарии 14
1