Порівняння багатопроцесорної та багатопоточної реалізацій ентропійного підходу для імпутування пропусків у даних на мові програмування Python
Розглядається порівняння послідовної, багатопроцесорної та багатопоточної реалізацій ентропійного підходу для імпутування пропусків у даних на мові програмування Python. Основна мета роботи полягає у дослідженні підходів щодо оптимізації обчислень при реалізації ентропійного підходу для імпутування...
Saved in:
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 |