Сегодня я немного расскажу о решении задачи классификации с использованием программного пакета R и его расширений. Задача классификации, пожалуй, одна из самых распространенных в анализе данных. Существует множество методов для ее решения с использованием разных математических техник, но нас с тобой, как апологетов R, не может не радовать, что при этом программировать что-либо с нуля не нужно, — все есть (причем далеко не в единственном экземпляре) в системе пакетов R.

 

Задача классификации

Задача классификации — типичный пример «обучения с учителем». Как правило, мы располагаем данными в виде таблицы, где столбцы содержат значение наборов признаков для каждого случая. Причем все строки заранее размечены таким образом, что один из столбцов (положим, что последний) указывает на класс, к которому принадлежит данная строка. Как хороший пример можно привести задачу классификации писем на спам и не спам. Для того чтобы воспользоваться алгоритмами машинного обучения, нужно для начала иметь размеченные данные — такие, для которых значение класса известно наряду с остальными признаками. Причем набор данных должен быть существенным, особенно если количество признаков велико.

Если у нас есть достаточно данных, то можно начинать обучение модели. Общая стратегия с классификаторами не особо зависит от модели и включает следующие шаги:

  • выбор тренировочного и тестового множества;
  • обучение модели на тренировочном множестве;
  • проверка модели на тестовом множестве;
  • перекрестная проверка;
  • улучшение модели.
 

Точность и полнота

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

TP (true positive) — сколько сообщений было правильно классифицировано как спам,
TN (true negative) — сколько сообщений было правильно классифицировано как не спам,
FP (false positive) — сколько сообщений было неправильно классифицировано как спам (то есть письма спамом не были, но модель классифицировала эти сообщения как спам),
FN (false negative) — сколько сообщений было неправильно классифицировано как не спам, а на самом деле это был все-таки Центр американского английского.

Продолжение статьи доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все статьи на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта, включая эту статью. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

Вариант 2. Купи одну статью

Заинтересовала статья, но нет возможности оплатить подписку? Тогда этот вариант для тебя! Обрати внимание: этот способ покупки доступен только для статей, опубликованных более двух месяцев назад.


Комментарии

Подпишитесь на ][, чтобы участвовать в обсуждении

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

Check Also

Что можно сделать с iPhone, зная пасскод. Как сливают данные, уводят iCloud и блокируют остальные устройства

Последние несколько месяцев мы много писали о нововведениях в iOS 11. «Теперь-то заживем!»…