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

Автор(и)

Ключові слова:

багатопроцесорність, багатопоточність, оптимізація обчислень, відновлення даних

Анотація

Розглядається порівняння послідовної, багатопроцесорної та багатопоточної реалізацій ентропійного підходу для імпутування пропусків у даних на мові програмування Python. Основна мета роботи полягає у дослідженні підходів щодо оптимізації обчислень при реалізації ентропійного підходу для імпутування пропусків у даних. Автори пояснюють обмеження інтерпретатора Python щодо багатопоточності через наявність Global Interpreter Lock (GIL), що унеможливлює повноцінну паралельну обробку даних в багатопотоковому середовищі. Натомість пропонується використання багатопроцесорної обробки, де кожен процес має власний інтерпретатор Python і GIL, що дозволяє ефективно розподіляти обчислювальні задачі на кілька ядер процесора. Для експериментальної частини роботи ви-користовується набір даних UCI Heart Disease Data, розміщений на платформі Kaggle. Здійснюється штучне введення пропусків, далі імпутація за допомогою різних реалізацій на базі ентропійного підходу, оцінка точності імпутації та часу виконання алгоритмів. Автори розглядають три підходи: послідовний, багатопоточний та багатопроцесорний, та порівнюють їх ефективність. Результати дослідження показують, що багатопотоковий підхід не дає переваги у швидкодії в порівнянні з послідовним підходом, а інколи навіть погіршує продуктивність через витрати часу на перемикання між потоками. Навпаки, багатопроцесорний підхід демонструє зменшення часу обчислень, що підтверджує його ефективність для задач імпутування пропусків у даних. У висновках автори зазначають, що оптимізація обчислень на Python потребує врахування особливостей GIL та рекомендують використовувати багатопроцесорні обчислення для досягнення кращої продуктивності. Надаються рекомендації щодо подальшої оптимізації, включаючи використання векторних обчислень та уникнення надлишкових операцій вводу-виводу. Ця робота має практичне значення для дослідників у галузі науки про дані, які працюють з Python і стикаються з проблемами паралельної обробки даних.

Завантажити

Дані для завантаження поки недоступні.

Посилання

Delavallade, T., & Dang, T. H. (2007, July). Using entropy to impute missing data in a classification task. In 2007 IEEE Inter-national Fuzzy Systems Conference (pp. 1-6). IEEE. https://doi.org/10.1109/FUZZY.2007.4295430

Initialization, Finalization, and Threads — Python 2.7.18 documentation. (б. д.). 3.12.3 Documentation. https://docs.python.org/2/c-api/init.html#threads

UCI Heart Disease Data. (б. д.). Kaggle: Your Machine Learning and Data Science Community. https://www.kaggle.com/datasets/redwankarimsony/heart-disease-data

Zemlianyi, O., & Baibuz, O. (2024). Methods for imputing miss-ing data on coronary heart disease. System technologies, 2(151), 33-49. https://doi.org/10.34185/1562-9945-2-151-2024-04

Завантаження

Опубліковано

2024-06-14

Номер

Розділ

Інформаційні технології та кібербезпека

Як цитувати

Земляний, О., & Байбуз, О. (2024). Порівняння багатопроцесорної та багатопоточної реалізацій  ентропійного підходу для імпутування пропусків у даних на мові програмування Python. Challenges and Issues of Modern Science, 2, 300-304. https://cims.fti.dp.ua/j/article/view/131

Share

Статті цього автора (цих авторів), які найбільше читають