Skip to content

Mart-igor/GUI_for_identifying_stationary_mode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ППО идентификации стационарных режимов

GitHub Stars GitHub release (latest by semver) Watchers

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


Introduction

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

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

Chat Preview


Table of content

Tech Stack

  • Язык программирования: Python 3.9+

    Принципы разработки:

    • Инкапсуляция, наследование, полиморфизм, композиция.
    • SOLID, DRY, KISS.

    Инструменты:

    • Типизация: mypy, аннотации.
  • Графический интерфейс: PySide6

  • Многопоточность: threading

  • База данных: SQLite

  • Машинное обучение: scikit-learn, pandas, numpy

  • Стилизация интерфейса: CSS

  • Система контроля версий: Git, GitHub

  • Документациям модуля: автоматическая генерация через pdoc.

Demo

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

Алгоритм оптимизации:

Отчет (выргузка результата работыт алгоритма):

Страницы Help, Settings, About:

В разделе "Usage" приведена инструкция по использованию

Documentation

Для более детального изучения алгоритма и его математического обоснования, вы можете ознакомиться с моей статьей по данной теме:

Usage

Основные шаги для использования программы:

  1. Загрузка данных:

    • Загрузите CSV-файл с данными через интерфейс программы.
  2. Отображение данных:

    • После загрузки файла данные автоматически отобразятся в виде таблицы в интерфейсе.
  3. Выбор параметров:

    • В выпадающих списках выберите необходимые параметры для анализа.
    • Постройте график изменения выбранного параметра.
  4. New algorithm:

  5. Анализ стационарных режимов:

    • Перейдите на следующую страницу интерфейса.
    • Укажите начало (x_min) и конец (x_max) участка данных, на котором будет проводиться оценка стационарных режимов. Рекомендуется выбирать диапазон от 3000 до 10000 значений.
  6. Результаты анализа:

    • Программа выведет таблицу с результатами:
      • "stationary" — оценка стационарности.
      • "assessment" — ваша личная оценка.
    • Постройте график, на котором вы сможете вручную выделить стационарные участки. Эти данные также будут записаны в таблицу.
  7. Оптимизация:

    • Нажмите кнопку "Optimize", чтобы программа рассчитала оптимальные весовые коэффициенты.
    • Результатом будет метрика классификации F1-score.
  8. Визуализация и экспорт данных:

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

Deployment

После скачивания проекта (не EXE) выполните:

  pip install -r requirements.txt

Запустите:

  python main.py

Запуск для документации модуля:

  pdoc -p 8080 main.py

Или скачайте установщик main.exe из папки dist

Feedback

Feel free to send us feedback on Twitter or file an issue. Feature requests are always welcome. If you wish to contribute, please take a quick look at the guidelines!

About

User-friendly graphical interface for determining stationary operating modes of technological processes

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages