[Data Mining, Анализ и проектирование систем, Машинное обучение] О котах и Process Mining
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
«А выживет ли у меня дома кот? », — задался я вопросом, прежде чем забрать себе пушистого друга из приюта домашних животных. И решил проверить свою гипотезу средствами Process Mining, этого относительно нового, но активно развивающегося направления анализа процессов. Среди программных продуктов этой сферы есть достаточное количество альтернатив, в частности: Celonis, Disco, ProM, Apramore. Я же решил попробовать библиотеку языка Python — PM4PY (Process Mining for Python), первая версия которой появилась наGitHub чуть больше года назад, в конце 2018. Ее особенность в том, что это свободно распространяемое ПО, и оно не имеет ограничений как по объему загружаемых файлов, так и по количеству событий, рассматриваемых в логе (журнале событий). PM4PY также имеет обширную документацию, описывающую базовую функциональность — с примерами кода и справочной информацией можно ознакомиться на официальном сайте — pm4py.org.
Первым делом – … нет, не самолеты, а данные! PM4PY поддерживает несколько форматов входных данных. Среди них: CSV (разделители — запятые), XES (eXtensible Event Stream) и Parquet. Самый простой как в понимании, так и в плане доступного функционала — это формат CSV.
Именно в этом формате и были представлены данные об утреннем распорядке, использованные далее в рассмотренном примере процесса. В ряд таких событий утра, как «подъем», «завтрак», «почистить зубы» и т.д. был добавлен такой существенный новый шаг как «покормить кота». Данный пример был искусственно сгенерирован в таблице MS Excel и потом сохранен в CSV (количество дней моделирования равно 39, а общее количество событий составило 250). Импорт данных происходит в две строчки кода. В первой — загружается так называемая фабрика импорта (соответствующий класс Python данной библиотеки), а во второй — имя файла данных подается на вход данной «фабрике» с присвоением в нужную переменную.
Загруженный извне лог (в том или ином формате) может быть подан на вход «майнерам» (Miners) — алгоритмам, которые анализируют загруженный в память журнал событий и пытаются по этим входным данным построить предполагаемую модель процесса в виде сети Петри. Примеры доступных в PM4PY алгоритмов: Alpha, IMDFb, Heuristic. Но меня, если вы помните, интересовал не академически строгий теоретический граф модели процесса, а сугубо практический вопрос о выживаемости кота.
И потому, двигаемся к гораздо более интересному в практическом применении анализу процесса в виде DFG графов (Directly-Follows Graph), где вершины графа — это события загруженного нами журнала событий, а направленные ребра соединяют пары событий, происшедшие одно после другого хотя бы один раз. Плюс такого представления — в подробном отображении всех возможных переходов. Минусом является чрезмерная загроможденность картинки соединяющими линиями, число которых резко возрастает при увеличении количества действий в журнале и многовариантности фактических шагов, случившихся в наблюдаемом процессе.
Видно, что и без того не простой процесс утренней рутины с добавлением еще одного дополнительно шага с кормлением домашнего питомца стал еще сложнее. DFG можно построить в разрезе частоты, т.е. сколько переходов было от одной вершины к другой. А можно построить в разрезе эффективности по времени, выбрав в качестве показателя среднее значение времени между событиями. Также в качестве показателя можно выбрать минимальное значение, максимальное или медиану.
Чтобы иметь возможность сузить рассматриваемую область данных, PM4PY предоставляет возможность работы с фильтрами (можно устанавливать фильтры по столбцам аналогично работе в библиотеке pandas) и с вариантами (типовыми последовательностями шагов) лога. Например, на рисунках выше были отображены DFG со всеми вариантами, без ограничений. Но можно выбрать, например, 3 самых частых последовательности шагов, и тогда картинка будет существенно проще.
При этом нужно помнить, что простота на картинке справа появилась за счет отбрасывания более редко встречающихся вариантов, в которых содержатся либо не интересные нам нетипичные, но при этом вполне допустимые варианты, так и очень интересующие нас важные отклонения от стандартного процесса.
В итоге мы видим, что, даже в наиболее типичных последовательностях событий, шаг «покормить кота» случался лишь в 4 из 8 случаев, а в половине случаев (4) это действие пропускалось и возвращения к нему уже не было. Т.е. в данном случае, лучше пока не торопиться и, не беря на себя дополнительной ответственности, поработать над своими дисциплиной и обязательностью, не обнадеживая животное заботой, которой по факту не будет.
===========
Источник:
habr.com
===========
Похожие новости:
- [Big Data, Анализ и проектирование систем, Визуализация данных, Математика] Большие ошибки в больших данных: проблемы анализа на практике
- [Big Data, Машинное обучение] Минимизируем наложение лейблов в интерактивных визуализациях (перевод)
- [Искусственный интеллект, Машинное обучение, Профессиональная литература] Книга «Обработка естественного языка в действии»
- [Google API, Python, Анализ и проектирование систем] Создание системы антифрода в такси с нуля
- [JavaScript, TypeScript, Анализ и проектирование систем, ООП, Проектирование и рефакторинг] Нерушимые законы крутого кода: Law of Demeter (с примерами на TypeScript)
- [Анализ и проектирование систем, Управление сообществом] Как внедрить геймификацию в профессиональное сообщество
- [Разработка под iOS, Разработка мобильных приложений, Swift, Машинное обучение] Новости о машинном обучении Apple в 2020 году (перевод)
- [IT-инфраструктура, IT-стандарты, Анализ и проектирование систем, Системное администрирование, Финансы в IT] Классификация критичности информационных систем
- [Будущее здесь, Интервью, Искусственный интеллект, Машинное обучение, Программирование] Необычное собеседование: GPT-3 в роли кандидата (перевод)
- [Анализ и проектирование систем, Управление персоналом, Управление проектами] Опять отчет? Ну сколько можно?
Теги для поиска: #_data_mining, #_analiz_i_proektirovanie_sistem (Анализ и проектирование систем), #_mashinnoe_obuchenie (Машинное обучение), #_process_mining, #_pm4py, #_data_mining, #_analiz_i_proektirovanie_sistem (
Анализ и проектирование систем
), #_mashinnoe_obuchenie (
Машинное обучение
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 23-Ноя 04:02
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
«А выживет ли у меня дома кот? », — задался я вопросом, прежде чем забрать себе пушистого друга из приюта домашних животных. И решил проверить свою гипотезу средствами Process Mining, этого относительно нового, но активно развивающегося направления анализа процессов. Среди программных продуктов этой сферы есть достаточное количество альтернатив, в частности: Celonis, Disco, ProM, Apramore. Я же решил попробовать библиотеку языка Python — PM4PY (Process Mining for Python), первая версия которой появилась наGitHub чуть больше года назад, в конце 2018. Ее особенность в том, что это свободно распространяемое ПО, и оно не имеет ограничений как по объему загружаемых файлов, так и по количеству событий, рассматриваемых в логе (журнале событий). PM4PY также имеет обширную документацию, описывающую базовую функциональность — с примерами кода и справочной информацией можно ознакомиться на официальном сайте — pm4py.org. Первым делом – … нет, не самолеты, а данные! PM4PY поддерживает несколько форматов входных данных. Среди них: CSV (разделители — запятые), XES (eXtensible Event Stream) и Parquet. Самый простой как в понимании, так и в плане доступного функционала — это формат CSV. Именно в этом формате и были представлены данные об утреннем распорядке, использованные далее в рассмотренном примере процесса. В ряд таких событий утра, как «подъем», «завтрак», «почистить зубы» и т.д. был добавлен такой существенный новый шаг как «покормить кота». Данный пример был искусственно сгенерирован в таблице MS Excel и потом сохранен в CSV (количество дней моделирования равно 39, а общее количество событий составило 250). Импорт данных происходит в две строчки кода. В первой — загружается так называемая фабрика импорта (соответствующий класс Python данной библиотеки), а во второй — имя файла данных подается на вход данной «фабрике» с присвоением в нужную переменную. Загруженный извне лог (в том или ином формате) может быть подан на вход «майнерам» (Miners) — алгоритмам, которые анализируют загруженный в память журнал событий и пытаются по этим входным данным построить предполагаемую модель процесса в виде сети Петри. Примеры доступных в PM4PY алгоритмов: Alpha, IMDFb, Heuristic. Но меня, если вы помните, интересовал не академически строгий теоретический граф модели процесса, а сугубо практический вопрос о выживаемости кота. И потому, двигаемся к гораздо более интересному в практическом применении анализу процесса в виде DFG графов (Directly-Follows Graph), где вершины графа — это события загруженного нами журнала событий, а направленные ребра соединяют пары событий, происшедшие одно после другого хотя бы один раз. Плюс такого представления — в подробном отображении всех возможных переходов. Минусом является чрезмерная загроможденность картинки соединяющими линиями, число которых резко возрастает при увеличении количества действий в журнале и многовариантности фактических шагов, случившихся в наблюдаемом процессе. Видно, что и без того не простой процесс утренней рутины с добавлением еще одного дополнительно шага с кормлением домашнего питомца стал еще сложнее. DFG можно построить в разрезе частоты, т.е. сколько переходов было от одной вершины к другой. А можно построить в разрезе эффективности по времени, выбрав в качестве показателя среднее значение времени между событиями. Также в качестве показателя можно выбрать минимальное значение, максимальное или медиану. Чтобы иметь возможность сузить рассматриваемую область данных, PM4PY предоставляет возможность работы с фильтрами (можно устанавливать фильтры по столбцам аналогично работе в библиотеке pandas) и с вариантами (типовыми последовательностями шагов) лога. Например, на рисунках выше были отображены DFG со всеми вариантами, без ограничений. Но можно выбрать, например, 3 самых частых последовательности шагов, и тогда картинка будет существенно проще. При этом нужно помнить, что простота на картинке справа появилась за счет отбрасывания более редко встречающихся вариантов, в которых содержатся либо не интересные нам нетипичные, но при этом вполне допустимые варианты, так и очень интересующие нас важные отклонения от стандартного процесса. В итоге мы видим, что, даже в наиболее типичных последовательностях событий, шаг «покормить кота» случался лишь в 4 из 8 случаев, а в половине случаев (4) это действие пропускалось и возвращения к нему уже не было. Т.е. в данном случае, лучше пока не торопиться и, не беря на себя дополнительной ответственности, поработать над своими дисциплиной и обязательностью, не обнадеживая животное заботой, которой по факту не будет. =========== Источник: habr.com =========== Похожие новости:
Анализ и проектирование систем ), #_mashinnoe_obuchenie ( Машинное обучение ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 23-Ноя 04:02
Часовой пояс: UTC + 5