ОБРОБКА ТА АНАЛІЗ ДАНИХ НА ПРИКЛАДІ НАБОРУ SPAMBASE З ВИКОРИСТАННЯМ БІБЛІОТЕК ДЛЯ МАШИННОГО НАВЧАННЯ
DOI:
https://doi.org/10.32782/tnv-tech.2024.2.1Ключові слова:
набір даних, машинне навчання, штучний інтелект, властивості, матриця ознак, вектор ознак, вектор цільових значеньАнотація
У статті проаналізовано набір даних Spambase з даними про електронні листи, які класифіковано як спам та не спам. Наведено детальний аналіз цього датафрейма з інформацією про дані в стовпчиках (властивості) та записи набору. Дані набору було завантажено в середовище для розробки програмного забезпечення Google CoLab для програмування та подальшого аналізу. Для наукових обчислень та аналізу даних в Python використано бібліотеки NumPy, Pandas, Matplotlib, Sklearn, Imblearn. Їх комбінації дозволяють розробникам та дослідникам ефективно працювати зі структурованими даними, виконувати різні операції з ними, візуалізувати результати та розв'язувати складні завдання аналізу та обробки даних. Для кращого розуміння матеріалу розглянуто деякі основні теоретичні відомості щодо прогнозування даних. Надано визначення машинного навчання, штучного інтелекту та науки про дані. Також описано категорії машинного навчання, такі як кероване, некероване навчання та навчання з підкріпленням. Розглянуті основні типи ознак, які використовуються в моделях машинного навчання: якісні, впорядковані та кількісні ознаки. Також був представлений набір даних про хвороби серця Heart Disease на якому описано та позначено важливі визначення, такі як матриця ознак X, вектор ознак, властивості, вектор цільових значень Y. Описано необхідність розбиття набору даних на навчальний, перевірочний та тестовий для коректної оцінки та перевірки моделі. Також пояснено використання функцій втрат L1 та L2 для оцінки продуктивності моделі, вказано переваги та недоліки кожного підходу. Продовжено аналіз датасету Spambase в середовищі Google Colab. Побудовано гістограми, що представляють розподіл даних за різними властивостями для двох класів: спаму та не спаму. Проаналізовано гістограми для властивостей word_freq_credit, char_freq_! та capital_run_length_total. Функцією split() з бібліотеки NumPy розділено дані на навчальний, перевірочний та тестовий набори. Для набору даних на навчання виконано перебалансування класів за допомогою методу випадкової перевибірки (RandomOverSampler). В результаті було створено нові екземпляри для менш представленого класу листів які містять спам.
Посилання
Butakov, N. Exploring machine learning use cases in telecom. Ericsson – Helping to shape a world of communication. Режим доступу: https://www.ericsson.com/en/blog/2021/5/machine-learning-use-cases-in-telecom (дата звернення: 30.03.2024).
Tsolaki, K. (2023). Utilizing machine learning on freight transportation and logistics applications: A review. ICT Express, (9), 284–295. Режим доступу: https://doi.org/10.1016/j.icte.2022.02.001 (дата звернення: 30.03.2024).
Kuleto, V. (2021). Opportunities and Challenges of Artificial Intelligence and Machine Learning in Higher Education Institutions. Sustainability, (13), 10-24. Режим доступу: https://doi.org/10.3390/su131810424 (дата звернення: 30.03.2024).
Харченко, В. О. (2023). Основи машинного навчання : навч. посіб. Суми : Сум. держ. Унiверситет. 264с. Режим доступу: https://essuir.sumdu.edu.ua/bitstreamdow nload/123456789/92711/1/Kharchenko_mashynne_navchannia.pdf (дата звернення: 30.03.2024).
Могильний, С. Б. (2019). Машинне навчання з використанням мікрокомп’ютерів : Навч.-метод. посіб. Київ, 224 с. Режим доступу: https://api.man.gov.ua/api/assets/man/54c0ee59-b490-4ff3-a346-90a89fd67e30/ (дата звернення: 30.03.2024).
Burkov A. (2019). The Hundred-Page Machine Learning Book. p.160.
FreeCodeCamp.org. Machine Learning for Everybody – Full Course. (2022). YouTube. Режим доступу: https://www.youtube.com/watch?v=i_LwzRVP7bg (дата звернення: 30.03.2024).
Programming with Mosh. Python Machine Learning Tutorial (Data Science). (2020). YouTube. Режим доступу: https://www.youtube.com/watch?v=7eh4d6sabA0 (дата звернення: 30.03.2024).
Spambase / M. Hopkins та ін. UCI Machine Learning Repository. Режим доступу: https://archive.ics.uci.edu/dataset/94/spambase (дата звернення: 30.03.2024).
McKinney, W. Python for Data Analysis. Sebastopol, California : O'Reilly Media, Inc., 2012. p. 470. Режим доступу: https://bedford-computing.co.uk/learning/wp-content/uploads/2015/10/Python-for-Data-Analysis.pdf (дата звернення: 30.03.2024).
Лемешко, А.В., Антоненко, А.В., Петрик, А.В. (2023) Нейроморфні системи як інструмент реалізації штучного інтелекту. Вчені записки ТНУ імені В.І. Вернадського. Серія: Технічні науки, 34 (73), (3), 175-183.
Антоненко А., Пахомов, М., Калита, Т., Галета, В. (2023). Використання штучного інтелекту в автоматизованих системах. Вісник Хмельницького національного університету, (4), (323), 11-20.
Pykes K. Python Machine Learning: Scikit-Learn Tutorial. https://app.datacamp.com. Режим доступу: https://www.datacamp.com/tutorial/machine-learning-python (дата звернення: 30.03.2024).
Tamanna. Handling Imbalanced Datasets in Python: Methods and Procedures. Medium. Режим доступу: https://medium.com/@tam.tamanna18/handlingimbalanced-datasets-in-python-methods-and-procedures-7376f99794de (дата звернення: 30.03.2024).
Heart Disease / A. Janosi та ін. UCI Machine Learning Repository. Режим доступу: https://archive.ics.uci.edu/dataset/45/heart+disease (дата звернення: 30.03.2024).