🔍 Поиск работ

Разработка программы учёта расходов с помощью кассовых чеков

Работа №206946

Тип работы

Дипломные работы, ВКР

Предмет

программирование

Объем работы107
Год сдачи2020
Стоимость4900 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
10
Не подходит работа?

Узнай цену на написание


АННОТАЦИЯ 2
ВВЕДЕНИЕ 8
1 МЕТОДЫ МУЛЬТИКЛАССОВОЙ КЛАССИФИКАЦИИ 10
1.1 Метод ^-ближайших соседей 10
1.1.1 Функция расстояния 13
1.1.2 Выбор параметра к 15
1.2 Деревья принятия решений 16
1.2.1 Алгоритм деревьев классификации и регрессии (CART) 18
1.2.2 Алгоритм C4.5 19
1.3 Наивный байесовский подход 21
1.4 Случайный лес 23
1.5 Логистическая регрессия 28
1.5.1 Подбор параметров 29
1.5.2 Пример 31
1.6 Приложения для работы с кассовыми чеками 33
1.6.1 Мобильное приложение «ЧекСкан» 33
1.6.2 Мобильное приложение «SpendList» 33
1.6.3 Мобильное приложение «FinPix» 34
1.7 Выводы по разделу 35
2 АЛГОРИТМЫ КЛАССИФИКАЦИИ НАИМЕНОВАНИЙ
ТОВАРОВ 36
2.1 Постановка задачи 36
2.2 Подготовка данных 36
2.2.1 Сбор исходных данных 36
2.2.2 Приложение для извлечения данных с сайта 39
2.2.3 Подготовка данных для работы алгоритмов 42
2.3 Методы классификаций наименований товаров 46
2.3.1 Метод ближайших соседей 46
2.3.2 Деревья принятия решений 46
2.3.3 Наивный байесовский подход 50
2.3.4 Случайный лес 52
2.3.5 Логистическая регрессия 55
2.4 Вывод по разделу 56
3 СРАВНИТЕЛЬНЫЙ АНАЛИЗ МЕТОДОВ КЛАССИФИКАЦИИ
ТЕКСТА 58
3.1 Сравнительный анализ точности работы при различных
параметрах 58
3.1.1 Метод ближайших соседей 59
3.1.2 Деревья принятия решений 60
3.1.3 Наивный байесовский подход 63
3.1.4 Случайный лес 64
3.1.5 Логистическая регрессия 65
3.2 Результаты тестирования методов классификации 67
3.3 Вывод по разделу 67
4 ПРОГРАММНЫЙ КОМПЛЕКС ДЛЯ ОБРАБОТКИ ЧЕКОВ 69
4.1 Архитектура программного комплекса 69
4.1.1 Проектирование базы данных 70
4.1.2 Алгоритм работы программного комплекса 70
4.1.3 Пример работы 72
4.2 Вывод по разделу 76
ЗАКЛЮЧЕНИЕ 77
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 78
ПРИЛОЖЕНИЯ 81
ПРИЛОЖЕНИЕ 1 Код для сбора данных с сайта Яндекс.Маркет .... 81
ПРИЛОЖЕНИЕ 2 Код тестирования методов из библиотеки
Scikit-learn 82
ПРИЛОЖЕНИЕ 3 Код тестирования методов из библиотеки
Pyspark 86
ПРИЛОЖЕНИЕ 4 Код сервера 89
ПРИЛОЖЕНИЕ 5 Код мобильного приложения 91

В информационных системах различного типа, предназначенных для обработки в автоматическом режиме текстов на естественных языках, актуальны различные задачи распознавания текстовой информации [25]. Задача классификации текстовых сообщений по категориям - это задача распознавания образов, которая может решаться с единых позиций теории информации и алгебраической теории.
Актуальной проблемой является классификация по категориям коротких текстов, особенно состоящих из двух-трёх слов. Такие тексты встречаются в товарных чеках.
Принципы построения систем классификации больших объемов текстовой информации довольно универсальны. Принадлежность к тому или иному классу определяется выделенными наборами признаков. Поэтому интерес представляют как алгоритмы решения данной задачи, так и выбор тех дифференцирующих признаков, которые определяют отнесение текстов к заданным классам [25]. Выбор дифференцирующих признаков является ключевым для создания методик классификации текстов на естественных языках. Отметим, что задача классификации и рубрикации текстов чаще всего привязана к конкретному естественному языку [25].
В случае текстов в качестве признаков обычно рассматриваются слова и взаимосвязанные наборы слов, содержащиеся в текстах.
В данной работе мы рассматриваем метод классификации текстовых сообщений, в основе которого лежит классическая модель «Мешок слов». С целью распределения наименований, взятых из товарного чека, по катего-риям и анализируем выбор наиболее эффективных и универсальных дифференцирующих признаков.
Целью данной работы является сравнение методов классификации текста и определение наиболее подходящего для нахождения класса товаров из кассовых чеков.
Для достижения данной цели необходимо решить следующие задачи:
1) изучение и сравнение существующих методов классификации текстов;
2) подготовка и анализ исходных данных представленных в виде сокращённых наименований товаров из кассовых чеков;
3) разработка математической модели для решения задачи классификации наименований из кассовых чеков;
4) разработка приложения, реализующего разработанный метод, для классификации товаров.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


Цель данной работы состояла в сравнении методов классификации текста и определении наиболее подходящего для нахождения класса товаров из кассовых чеков.
В соответствии с целью, был проведен обзор существующих методов и приложений для решения поставленной задачи. Рассмотрены их преимущества и недостатки.
Так же были подготовлены исходные данные. Они были взяты с сайта «Яндекс.Маркет», для чего была написана отдельная программа, а также с кассовых чеков, взятых в магазине. В качестве метода преобразования текста выбран метод «Bag of Words», необходимый для дальнейшей работы классификаторов. А также рассмотрено применение алгоритмов случайного леса, логистической регрессии, деревьев решений, метода ближайших соседей и наивного байесовского подхода к поставленной цели.
Были рассмотрены параметры методов классификации. Выполнен подбор параметров, дающих наилучшую точность для каждого из методов и проведён выбор наиболее точного классификатора, которым оказался классификатор, основанный на логистической регрессии.
После проведённых экспериментов была разработана архитектура программного комплекса, состоящая из мобильного приложения и сервера. Затем разработанная архитектура была реализована.
Таким образом, цель достигнута, а поставленные задачи - полностью решены.



1 Azen, R. Categorical Data Analysis for the Behavioral and Social Sciences / R. Azen, M. Walker - Ney York: Routledge, 2011. - 283 с.
2 Breiman, L. Classification and regression trees / L. Breiman, J.H. Friedman, R.A. Olshen, CA: Wadsworth & Brooks/Cole Advanced Books & Software, 1984. - 366 p.
3 Cohen, C. Applied multiple regression/correlation analysis for the behavioral sciences / C. Cohen, P. Cohen. Mahwah, New Jersey: Lawrence Erlbaum Associates, 2003. - 732 p.
4 Domingos, P. On the Optimality of the Simple Bayesian Classifier under Zero-One Loss / P. Domingos, M. Pazzani. The Netherlands: Kluwer Academic Publishers, 1997. - 28 p.
5 Friedman, J. The Elements of Statistical Learning / J. Friedman, T. Hastie, R. Tibshirani, 2008. - 464 с.
6 Grinberg, M. Flask web development / M. Grinberg - Gravenstein Highway: O'reilly, 2014. - 238 с.
7 Kleinbaum, G. Logistic Regression / G. Kleinbaum, M. Klein - Third edition изд. - New York: Springer, 2010. - 701 с.
8 Larose, D.T. Discovering knowledge in data: an introduction to data mining / D.T. Larose, C.D. Larose. Hoboken, New Jersey: John Wiley & Sons, 2014. - 334 p.
9 Leiva, A. Kotlin For Android Developers / Leiva A. 6th edition. Leanpub, 2018. - 180 с.
10 Martin, N. Mathematical Theory of Entropy / N. Martin, J. England. New York: Cambridge University Press, 1984. - 286 p.
11 Menard, S. Applied logistic regression analysis / S. Menard - Second edition - Thousand Oaks: Sage Publication, 2002. - 111 с.
12 Rish, I. An empirical study of the naive Bayes classifier / I. Rish [Электронный ресурс]. - Режим доступа: https://clck.ru/NvKZq. - Загл. с экрана. (дата обращения: 10.05.2020)
13 Rouaud, M. Probability, statistics and estimation / M. Rouaud, 2017. - 181 с.
14 Гриффитс, Д Head First. Программирование для Android /
Д. Гриффитс - СПб: Питер, 2016. - 704 с.
15 Груздев, А. Прогнозное моделирование в IBM SPSS Statistics, R и Python. Метод деревьев решений и случайный лес / А. Груздев - М.: ДМК Пресс, 2017. - 278 с...30


Работу высылаем на протяжении 30 минут после оплаты.




©2026 Cервис помощи студентам в выполнении работ