Порівняння багатопроцесорної та багатопоточної реалізацій  ентропійного підходу для імпутування пропусків у даних на мові програмування Python

Розглядається порівняння послідовної, багатопроцесорної та багатопоточної реалізацій ентропійного підходу для імпутування пропусків у даних на мові програмування Python. Основна мета роботи полягає у дослідженні підходів щодо оптимізації обчислень при реалізації ентропійного підходу для імпутування...

Full description

Saved in:
Bibliographic Details
Main Authors: Олексій Земляний, Олег Байбуз
Format: Article
Language:English
Published: Oles Honchar Dnipro National University 2024-06-01
Series:Challenges and Issues of Modern Science
Subjects:
Online Access:https://cims.fti.dp.ua/j/article/view/131
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1823858811734065152
author Олексій Земляний
Олег Байбуз
author_facet Олексій Земляний
Олег Байбуз
author_sort Олексій Земляний
collection DOAJ
description Розглядається порівняння послідовної, багатопроцесорної та багатопоточної реалізацій ентропійного підходу для імпутування пропусків у даних на мові програмування Python. Основна мета роботи полягає у дослідженні підходів щодо оптимізації обчислень при реалізації ентропійного підходу для імпутування пропусків у даних. Автори пояснюють обмеження інтерпретатора Python щодо багатопоточності через наявність Global Interpreter Lock (GIL), що унеможливлює повноцінну паралельну обробку даних в багатопотоковому середовищі. Натомість пропонується використання багатопроцесорної обробки, де кожен процес має власний інтерпретатор Python і GIL, що дозволяє ефективно розподіляти обчислювальні задачі на кілька ядер процесора. Для експериментальної частини роботи ви-користовується набір даних UCI Heart Disease Data, розміщений на платформі Kaggle. Здійснюється штучне введення пропусків, далі імпутація за допомогою різних реалізацій на базі ентропійного підходу, оцінка точності імпутації та часу виконання алгоритмів. Автори розглядають три підходи: послідовний, багатопоточний та багатопроцесорний, та порівнюють їх ефективність. Результати дослідження показують, що багатопотоковий підхід не дає переваги у швидкодії в порівнянні з послідовним підходом, а інколи навіть погіршує продуктивність через витрати часу на перемикання між потоками. Навпаки, багатопроцесорний підхід демонструє зменшення часу обчислень, що підтверджує його ефективність для задач імпутування пропусків у даних. У висновках автори зазначають, що оптимізація обчислень на Python потребує врахування особливостей GIL та рекомендують використовувати багатопроцесорні обчислення для досягнення кращої продуктивності. Надаються рекомендації щодо подальшої оптимізації, включаючи використання векторних обчислень та уникнення надлишкових операцій вводу-виводу. Ця робота має практичне значення для дослідників у галузі науки про дані, які працюють з Python і стикаються з проблемами паралельної обробки даних.
format Article
id doaj-art-fc7f5a12cd544ee4965b89ba07b5246f
institution Kabale University
issn 3083-5704
language English
publishDate 2024-06-01
publisher Oles Honchar Dnipro National University
record_format Article
series Challenges and Issues of Modern Science
spelling doaj-art-fc7f5a12cd544ee4965b89ba07b5246f2025-02-11T09:55:39ZengOles Honchar Dnipro National UniversityChallenges and Issues of Modern Science3083-57042024-06-012Порівняння багатопроцесорної та багатопоточної реалізацій  ентропійного підходу для імпутування пропусків у даних на мові програмування PythonОлексій Земляний0https://orcid.org/0009-0001-6157-8725Олег Байбуз1https://orcid.org/0000-0001-7489-6952Дніпровський національний університет імені Олеся ГончараДніпровський національний університет імені Олеся Гончара Розглядається порівняння послідовної, багатопроцесорної та багатопоточної реалізацій ентропійного підходу для імпутування пропусків у даних на мові програмування Python. Основна мета роботи полягає у дослідженні підходів щодо оптимізації обчислень при реалізації ентропійного підходу для імпутування пропусків у даних. Автори пояснюють обмеження інтерпретатора Python щодо багатопоточності через наявність Global Interpreter Lock (GIL), що унеможливлює повноцінну паралельну обробку даних в багатопотоковому середовищі. Натомість пропонується використання багатопроцесорної обробки, де кожен процес має власний інтерпретатор Python і GIL, що дозволяє ефективно розподіляти обчислювальні задачі на кілька ядер процесора. Для експериментальної частини роботи ви-користовується набір даних UCI Heart Disease Data, розміщений на платформі Kaggle. Здійснюється штучне введення пропусків, далі імпутація за допомогою різних реалізацій на базі ентропійного підходу, оцінка точності імпутації та часу виконання алгоритмів. Автори розглядають три підходи: послідовний, багатопоточний та багатопроцесорний, та порівнюють їх ефективність. Результати дослідження показують, що багатопотоковий підхід не дає переваги у швидкодії в порівнянні з послідовним підходом, а інколи навіть погіршує продуктивність через витрати часу на перемикання між потоками. Навпаки, багатопроцесорний підхід демонструє зменшення часу обчислень, що підтверджує його ефективність для задач імпутування пропусків у даних. У висновках автори зазначають, що оптимізація обчислень на Python потребує врахування особливостей GIL та рекомендують використовувати багатопроцесорні обчислення для досягнення кращої продуктивності. Надаються рекомендації щодо подальшої оптимізації, включаючи використання векторних обчислень та уникнення надлишкових операцій вводу-виводу. Ця робота має практичне значення для дослідників у галузі науки про дані, які працюють з Python і стикаються з проблемами паралельної обробки даних. https://cims.fti.dp.ua/j/article/view/131багатопроцесорністьбагатопоточністьоптимізація обчисленьвідновлення даних
spellingShingle Олексій Земляний
Олег Байбуз
Порівняння багатопроцесорної та багатопоточної реалізацій  ентропійного підходу для імпутування пропусків у даних на мові програмування Python
Challenges and Issues of Modern Science
багатопроцесорність
багатопоточність
оптимізація обчислень
відновлення даних
title Порівняння багатопроцесорної та багатопоточної реалізацій  ентропійного підходу для імпутування пропусків у даних на мові програмування Python
title_full Порівняння багатопроцесорної та багатопоточної реалізацій  ентропійного підходу для імпутування пропусків у даних на мові програмування Python
title_fullStr Порівняння багатопроцесорної та багатопоточної реалізацій  ентропійного підходу для імпутування пропусків у даних на мові програмування Python
title_full_unstemmed Порівняння багатопроцесорної та багатопоточної реалізацій  ентропійного підходу для імпутування пропусків у даних на мові програмування Python
title_short Порівняння багатопроцесорної та багатопоточної реалізацій  ентропійного підходу для імпутування пропусків у даних на мові програмування Python
title_sort порівняння багатопроцесорної та багатопоточної реалізацій ентропійного підходу для імпутування пропусків у даних на мові програмування python
topic багатопроцесорність
багатопоточність
оптимізація обчислень
відновлення даних
url https://cims.fti.dp.ua/j/article/view/131
work_keys_str_mv AT oleksíjzemlânij porívnânnâbagatoprocesornoítabagatopotočnoírealízacíjentropíjnogopídhodudlâímputuvannâpropuskívudanihnamovíprogramuvannâpython
AT olegbajbuz porívnânnâbagatoprocesornoítabagatopotočnoírealízacíjentropíjnogopídhodudlâímputuvannâpropuskívudanihnamovíprogramuvannâpython