Similar presentations:
2024_0616_ПМИ_4,_Русаков_В_В_презентация_предзащита
1.
Микросервис no-code системыанализа данных
Выполнил:
студент 4 курса механико-математического факультета группы ПМИ-4
Русаков Вадим Вячеславович
Научный руководитель:
к.т.н. Селетков Илья Павлович
2.
ВведениеСовременные инструменты машинного, интеллектуального анализа данных
требуют разработки программ, например, на языке Python.
Многие эксперты-аналитики не имеют достаточных знаний в области
программирования и не могут полноценно использовать инструменты и
библиотеки для обработки и анализа данных.
Это может приводить к недостаточно эффективному использованию данных в
процессе принятия решений и снижению качества аналитических исследований.
2/20
3.
Цель работыЦель разработки системы - позволить экспертам-аналитикам, у которых
отсутствуют навыки написания программного кода, обрабатывать и анализировать
данные с использованием всех современных инструментов.
Объект исследования - процесс обработки, анализа и хранения данных.
Предмет исследования – структура и алгоритмы работы серверной части no-code
системы для обработки и анализа данных.
3/20
4.
Постановка задачиРазработать микросервис, позволяющий:
• загружать наборы данных из файлов и по ссылкам из внешних ресурсов;
• хранить, загружать, удалять наборы данных;
• по командам из web-интерфейса выполнять заранее настроенные действия
обработки данных;
• рассчитывать численные и статистические характеристики наборов данных;
• строить интеллектуальные модели.
Нефункциональные требования:
• связь с web-интерфейсом по протоколу HTTP REST;
• язык разработки - Python;
• фреймворк – FastAPI;
• контейнеризация – Docker.
4/20
5.
Структура системыБлоки с готовым
кодом
Код требуется
найти/разработать
5/20
6.
Обзор существующих решенийСистема
Minitab
Преимущества
богатый функционал;
поддержка машинного
обучения.
Недостатки
ML – тренажер
для работы с
большими
данными
(Иннополис)
поддержка машинного
обучения.
большая стоимость: 1780$ 3040$;
предоставляется только для юр.
лиц и ИП;
ограниченные возможности
интеграции.
большая стоимость;
использование только для
обучения студентов.
6/20
7.
Проработка и детализация решенияИнтеграция с сервисом хранения файлов MinIo.
Интеграция с СУБД PostgreSQL: хранение метаданных о наборах данных.
Интеграция с сервисом авторизации / аутентификации Keycloak.
Реализация логики работы с наборами данных.
Реализация логики обработки данных с использованием библиотеки Pandas.
Реализация функционала построения аналитических моделей машинного
обучения с использованием библиотеки Scikit-learn.
Интеграция с другими техническими сервисами системы, web-интерфейсом.
Тестирование.
Разработка скрипта для формирования образа docker.
Подготовка документации.
7/20
8.
Логическая модель программы8/20
9.
Структура таблиц в БД9/20
10.
Загрузка набора данных10/20
11.
Замена пропущенных значений11/20
12.
Построение регрессионной модели12/20
13.
Используемый инструментарийЯзык программирования
Python
Среда разработки
PyCharm
Программная платформа
FastAPI
Ключевые библиотеки
Pandas, scikit-learn, pickle, joblib
Сервис хранения файлов
MinIo
СУБД
PostgreSQL
Аутентификация и авторизация
Keycloak
Хранение кода/Управление
задачами/Ревью
Jetbrains Space
Среда моделирования процессов
Diagrams.net
13/20
14.
Программный интерфейсВзаимодействие с наборами данных
6 методов
Обработка данных
9 методов
Анализ данных
9 методов
14/20
15.
Реализация запросов, APIКак реализовано? Какие библиотеки? Какой код? Как xlsx файлы читаются? Пример отправки
запроса и пример соответствующего ответа.
15/20
16.
Способ хранения моделей данныхДля хранения настроек аналитических моделей используется библиотека joblib, позволяющая
сохранить и прочитать модель из текстового формата pkl.
16/20
17.
ТестированиеСпособ осуществления тестирования – ручной.
Инструменты для тестирования:
FastAPI Swagger UI;
Среды: Google colab и PyCharm.
Основные сценарии тестирования:
Тестирование запросов с клиента на сервер;
Тестирование методов работы с пользовательскими наборами данных;
Тестирование методов обработки наборов данных;
Тестирование методов анализа данных.
17/20
18.
Публикации по теме работыРусаков, В.В. Разработка NO-Code системы обработки и хранения данных / В.В.
Русаков, В.Е. Мокунева, И.П. Селетков // Актуальные проблемы математики,
механики и информатики 2023 [Электронный ресурс] : сборник статей по
материалам студенческой конференции / Пермский государственный национальный
исследовательский университет ; под редакцией М. М. Бузмаковой. – Пермь, 2023.
C. 312-317. – Режим доступа: http://www.psu.ru/files/
docs/science/books/sborniki/aktualnye-problemy-matematikimekhaniki-informatiki2023.pdf. - ISBN 978-5-7944-4043-0.
18/20
19.
ЗаключениеРазработан сервис для выполнения основных действия обработки данных:
загрузки, удаления, сортировки, фильтрации и т.д. .
Разработан сервис для построения регрессионных моделей данных: линейной,
логистической, дерево, случайный лес и т.д.
Произведено тестирование разработанного функционала (более 100 тестов).
Разработан скрипт создания контейнера Docker.
Сервис опубликован и развёрнут в составе системы.
19/20