2. ДЗ1 - november-pain/Coronavirus_research GitHub Wiki

Опис проблеми, вирішенню якої буде присвячено цикл домашніх завдань

На даний момент світ бореться з пандемією вірусної інфекції COVID-19 відомої як коронавірус. Зараз ліків від хвороби не існує, тому єдиний спосіб захистити людство від вірусу це зменшити поширення вірусу. Опираючись на те що відомо про коронавірус, приймаються певні запобіжні міри такі як карантин. Проте ми ще мало знаємо про цей вірус, по всьому світу проводяться різні дослідження.

Моя робота буде включати набір модулів які будуть збирати дані і аналізувати їх для отримання статистики яку можна буде використовувати для боротьби з поширенням вірусної інфекції COVID-19, шляхом створення нових запобіжних заходів. Виявлення факторів, які впливають на швидкість поширення вірусу - це одна з основних методик стримування пандемії.

Вимога на систему

Спонсор проекту (Project Sponsor)

  • Чікіта Максим (Maksym Chikita)

Бізнес потреба (Business Need)

  • Сприяти зупиненню коронавірусу.

Бізнес вимоги (Business Requirements)

  • Зменшення швидкості поширення вірусу за рахунок виявлення факторів які на це впливають.

Бізнес вигоди (користь) (Business Value)

  • Прискорення процесу боротьби з пандемією.
  • Зменшення терміну загального карантину. Це дозволить відновити роботу багатьох галузей.

Питання та обмеження (Special Issues or Constraints)

  • Робота повинна бути виконана до 25 травня 2020 р.

Опис функціональних можливостей API

Для збору даних з мережі інтернет я буду використовувати Kaggle API (https://github.com/Kaggle/kaggle-api). Сайт https://www.kaggle.com це сервіс на якому люди розміщують датасети у вільний доступ, для того щоб програмісти по всьому світу могли аналізувати дані і розміщувати свої результати в інтернеті. Зараз проводяться багато різних змагань та конкурсів, які спрямовані на заохочення людей брати участь у дослідженні коронавірусу.

Kaggle API дозволяє легко оперувати датасетами. За допомогою команди:

                $ kaggle datasets files [-h] [-v] [dataset]

можна перелічити файли датасету. Самі датасети можна переглядати як за топомогою API, так і за тодомогою сайту. Пошук датасетів я здійсюватму на сайті, бо там є можливість одразу глянути на вміст файлів і оцінити якість даних, це важливо, особливо зараз, коли даних дуже багато і важко знайти те що потрібно. Завантажити перелічені файли датасету можна за допомогою команди:

        $ kaggle datasets download [-h] [-f FILE_NAME] [-p PATH] [-w] [--unzip] [-o] [-q] [dataset]

Це лише основні можливості які надає даний API, крім цього є ще багато функцій такі як: створення датасету, виведення статусу датасету, створення нової версії датасету і тд.

Нажаль офіційна документація для kaggle API для мови програмування python відсутня. Проте інтернет користувачі зробили неофіційну документацію https://technowhisp.com/kaggle-api-python-documentation/ . Функціонал той самий, але є можливість написання python модуля з використанням цього АРІ.

Мені знадобиться лише функція завантажування і розархівовування датасету.

Приклад використання вказаного API

Модуль для завантажування датасету через kaggle API:

https://github.com/november-pain/Coronavirus_research/blob/master/examples/api_example.py

Дані отримані в результаті роботи цього модуля:

https://github.com/november-pain/Coronavirus_research/blob/master/examples/covid_19_clean_complete.csv https://github.com/november-pain/Coronavirus_research/blob/master/examples/usa_county_wise.csv https://github.com/november-pain/Coronavirus_research/blob/master/examples/us_states_covid19_daily.csv