Меню
Главная
Авторизация/Регистрация
 
Главная arrow Математика, химия, физика arrow Анализ показателя реадмиссии

Методы проверки точности работы классификатора

Для оценки качества работы классификатора существует несколько методов, самые популярные и качественные из них - кросс-валидация и ROC-кривые.

Для проведения алгоритма кросс-валидации выборка разделяется на обучающую, к которой применяются методы анализа данных, и тестовую, на которой и проверяется качество работы классификаторов методом оценки средней ошибки классификации. Таким образом, алгоритм имеет две непересекающиеся между собой выборки - - обучающая выборка и - тестовая выборка, где m и k - размерность выборки. Для каждой выборки строится алгоритм соответствия между независимыми и зависимой переменной , а также определяется значение функционала качества, оценивающего качество алгоритма (14):

,

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

Величина точности классификатора определяется по следующей формуле (15):

,

где CV принимает значения от 0 до 1.

Помимо метода кросс-валидации для проверки качества классификатора используются ROC-кривые - графики, показывающие соотношение неправильно определенных позитивных случаев к корректно определенным позитивным случаям (flase positive rate и true positive rate). Алгоритм строит графическое представление доли ложных положительных классификаций (FRP) к доле верных положительных классификаций (TRP) (16), (17):

,

где a - алгоритм соответствия независимой и зависимой переменной, x - независимая переменная, y - зависимая переменная.

Точность работы классификатора определяется, как размер площади под кривой на графике (см. рис. 1).

Точность по ROC-кривой

Рисунок 1. Точность по ROC-кривой

Инструментальные средства анализа данных

В качестве метода анализа данных и построения модели был выбран язык программирования Python в связи с тем, что его библиотеки имеют множество встроенных функций, которые позволяют быстро и эффективно обрабатывать данные. Этот язык является высокоуровневым, поддерживающим различные парадигмы программирования, в том числе и объектно-ориентированное; имеет ряд преимуществ, позволяющих облегчить процесс создания кода, например, отсутствие необходимости задавать тип переменной, понятный и простой синтаксис, а также интеграция с языками программирования С. Среди библиотек Python, которые могут быть полезна для анализа данных и построения моделей, pandas, pylab, matplotlib, numpy и sklearn.

Библиотека pandas используется в основном для предварительной обработки и представления данных. Прежде всего, она содержит объект DataFrame, который позволяет представлять базу данных в виде двумерного массива, а также проводить с ней некоторые манипуляции и действия, такие как создание сводных таблиц, удаление строк и столбцов и наконец, группировка и объединение данных. Pylab и matplotlib в свою очередь используются для построения и визуализации графиков на основе обработанных данных. Данные библиотеки поддерживают большое количество различных графиков и диаграмм - от простых столбчатых диаграмм до сложных графиков с дополнительными осями. NumPy - математическая библиотека, поддерживающая множество математических операций, а также обработку многомерных массивов. И, наконец, Sklearn также реализует собой библиотеку с математическими алгоритмами, однако более сложными, чем в библиотеке NumPy, именно в sklearn реализованы функции обучения с учителем, которые позволяют создавать на основе обучающей выборки предсказательные модели.

Существует еще несколько способов анализа данных, например, написание макроса на VBA в Excel, использование SPSS Statistic, а также язык программирования R. Первый способ подразумевает под собой создание кода программы вручную, то есть программирование сложных методов анализа данных, таких как логистическая регрессия или метода опорных векторов, занимает большое количество времени. Более того, Excel при обработке большого массива данных не хватает производительности, и программа работает довольно медленно, затормаживая процесс создания и редактирования кода. SPSS Statistic в свою очередь также имеет не самую высокую производительность, во встроенных пакетах реализованы не все необходимые для анализа функции и возможности, также данные требуют предварительной подготовки, чтобы программа воспринимала информацию корректно. Наконец, язык программирования R поддерживает все необходимые функции обучения с учителем, отлично подходит для анализ статистических данных, также как и Python имеет систему динамических типов, интеграцию с другими языками программирования и является мультипарадигмальным. Однако, создание GUI на языке R значительно сложнее и менее успешно реализовано, чем на Python. В связи с этим, так как одной из задач работы является создание интерфейса для пользователя, в качестве инструмента для анализа данных был выбран именно Python.

Для программирования на языке Python существует несколько сред разработки, самые популярные из них Eric, Eclipse и PyCharm. Именно последняя программа была выбрана для разработки, так как имеет бесплатную версию, имеет высокую производительность и поддерживает реализацию всех необходимых библиотек, а также их удобную и легкую установку. Более того, в PyCharm реализованы возможности интеллектуального редактирования кода (выделение ошибок, автозаполнение по первым буквам команды и т.д.), оптимизации времени работы программного продукта и возможность интегрировать библиотеку визуализации данных.

Для создания интерфейса пользователя была выбрана программа QtDesigner, так как это наиболее удобная программа для создания GUI на языке Python. Содержит в себе встроенную библиотеку Qt Framework, набор виджетов, позволяющий быстро создавать графические представления, а также приложение Qt Designer позволяет облегчить процесс кодирования с помощью методов оптимизации кода.

 
< Предыдущая   СОДЕРЖАНИЕ   Следующая >
 

Предметы
Агропромышленность
Банковское дело
БЖД
Бухучет и аудит
География
Документоведение
Естествознание
Журналистика
Инвестирование
Информатика
История
Культурология
Литература
Логика
Логистика
Маркетинг
Математика, химия, физика
Медицина
Менеджмент
Недвижимость
Педагогика
Политология
Политэкономия
Право
Психология
Региональная экономика
Религиоведение
Риторика
Социология
Статистика
Страховое дело
Техника
Товароведение
Туризм
Философия
Финансы
Экология
Экономика
Этика и эстетика
Прочее