Майстерність у прогнозуванні медалей Kaggle за допомогою EDA та машинного навчання

Зміст

  1. Вступ
  2. Збір та підготовка даних
  3. Дослідницький аналіз даних
  4. Вибір моделі та навчання
  5. Оцінка моделі
  6. Тлумачення моделі
  7. Висновки
  8. Додатки

1. Вступ

Огляд проекту

У цьому проекті я аналізую набір даних з Kaggle з метою передбачення медалі (золото, срібло чи бронза), яку набір даних може отримати на основі своїх характеристик. Процес починається з глибокого дослідницького аналізу даних (EDA), щоб зрозуміти структуру набору даних, потім переходить до створення ознак і застосування різних алгоритмів машинного навчання. Для цього було використано алгоритм RandomForest Classifier, а результати оцінювалися на основі метрик ефективності.

Метою проекту є дослідження взаємозв'язку між ознаками набору даних та ймовірністю отримання медалей.
Завдяки обширному EDA — дослідницькому аналізу даних (Exploratory Data Analysis) та машинному навчанню, нам вдалося визначити ознаки, які можна використовувати для прогнозування медалі, яку набір даних отримає.

Для детального ознайомлення з кодом, використаним у цьому проекті, будь ласка, відвідайте мій репозиторій на GitHub.

Мета

Метою цього проекту є створення прогностичної моделі, яка може класифікувати набори даних Kaggle на основі медалей, які вони, ймовірно, отримають (золото, срібло або бронза).
Це передбачає використання різних ознак з набору даних, таких як метадані, статистика подачі та взаємодії користувачів, для навчання моделей машинного навчання.

Метою є визначення закономірностей і взаємозв'язків у даних, які корелюють з вищими результатами на змаганнях Kaggle. Проект також досліджуватиме різні техніки оцінки моделей, щоб забезпечити точність і надійність прогнозів.

Для детального коду та реалізації відвідайте репозиторій на GitHub.

2. Збір та підготовка даних

pic

Фото Mika Baumeister на Unsplash

Джерело даних

Набір даних, використаний для цього проекту, був отриманий з Kaggle, популярної платформи для змагань з наукових досліджень та машинного навчання. На жаль, конкретне посилання на набір даних більше не доступне. Однак він спочатку був опублікований як частина репозиторію наборів даних Kaggle, який містить широкий спектр наборів даних для різних областей.

Очищення даних

Для забезпечення готовності набору даних до аналізу та моделювання було виконано кілька етапів попередньої обробки. Спочатку набір даних перевірено на наявність порожніх значень. Було виявлено лише два порожніх значення, які були видалені. Далі набір даних перевірено на наявність дублікатів, але, на щастя, дублікати не були виявлені.

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

Створення ознак

Для поліпшення набору даних і зроблення його більш придатним для моделювання було виконано створення ознак. Для більш детального аналізу на основі часу було спочатку виділено годину з колонки дати і перетворено в формат datetime, щоб створити нову ознаку дати.

По-друге, для забезпечення узгодженості та консистентності під час аналізу колонка розміру файлу — яка містила розміри файлів у різних одиницях, таких як KB, MB, GB та байти — була стандартизована в одну одиницю. Метою цих змін було підвищити якість ознак і підготувати набір даних до ефективного використання в машинному навчанні.

Попередня обробка даних

Було виконано кілька технік попередньої обробки, щоб підготувати набір даних до моделювання. Використовувалися OneHotEncoder і LabelEncoder для перетворення категоріальних ознак, щоб алгоритми машинного навчання могли їх використовувати.

Золота медаль = 3, Срібна медаль = 2, Бронзова медаль = 1 і Без медалі = 0 — це числові значення, які використовувалися для ручного кодування цільової змінної, яка представляла медаль, отриману набором даних.

3.

Дослідницький аналіз даних (EDA)

pic

Фото Mike Cho на Unsplash

pic

Графік 1

  • Спочатку ми з'ясували, що набір даних містить дані за період з 2016 по 2023 роки.
  • Більшість наборів даних мають бронзову медаль.
  • Другою за кількістю медаллю є «Без медалі».

pic

Графік 2

  • Ми можемо побачити, що більшість наборів даних, які отримали золоту медаль, були завантажені в четвер.
  • Більшість наборів даних зі срібною медаллю були завантажені в понеділок.

pic

Графік 3

  • Графік «оцінки корисності» наборів даних показує, що значення мають негативний розподіл.

pic

Графік 4

  • Ми можемо побачити, що в середньому більшість золотих медалей присуджуються наборам даних об'ємом близько 1000 МБ або 1 ГБ.

4. Вибір моделі та навчання

pic

Фото Arseny Togulev на Unsplash

Вибір ознак

Для зменшення шуму в наборі даних і зосередження уваги на найбільш важливих даних було використано процедуру ручного вибору ознак. Лишилися лише ті ознаки, які були визнані придатними для аналізу та моделювання.

Цей етап покращив якість і точність моделі, гарантуючи, що алгоритми машинного навчання працюють лише з найбільш важливою частиною даних.

Попередня обробка

Було проведено кілька підготовчих етапів для підготовки набору даних до ефективного моделювання.

  • Спочатку категоріальні дані були закодовані за допомогою OneHotEncoder та LabelEncoder для забезпечення сумісності з техніками машинного навчання.
  • Числові ознаки потім були нормалізовані за допомогою StandardScaler для вирівнювання їх діапазонів і поліпшення продуктивності моделі.
  • Набір даних був розділений на навчальну та тестову вибірки за схемою 80-20 для оцінки моделі.
  • Для тренувальної вибірки також було використано техніку збільшення вибірки (oversampling), щоб гарантувати рівне представлення всіх категорій медалей, що зменшило потенційний упереджений підхід і покращило здатність моделі до узагальнення між класами.

Вибір моделі

Після оцінки різних алгоритмів машинного навчання для цього проекту була обрана модель Random Forest Classifier, оскільки вона була визнана найкращою для цього набору даних.

Її ансамблева методика, що поєднує кілька дерев рішень, довела свою ефективність у роботі з складністю та різноманіттям ознак. Здатність моделі справлятися з незбалансованими наборами даних та уникати перенавчання (overfitting) ще більше підкреслила її підходящість для цієї задачі класифікації.

5. Оцінка моделі

pic

Фото JESHOOTS.COM на Unsplash

Для детальної оцінки ефективності моделі Random Forest Classifier було використано низку критеріїв. Модель продемонструвала відмінний баланс між передбаченням важливих випадків і захопленням усіх релевантних випадків, про що свідчать її точність (precision) 0.76 та відзив (recall) 0.7563. F1-оцінка, що поєднує відзив і точність, склала 0.7581. Крім того, точність моделі, яка вказує на відсоток правильно класифікованих випадків у наборі даних, становила 0.78. Усі ці показники свідчать про те, що алгоритм ефективно визначає категорії медалей.

Перекладено з: Mastering Kaggle Medal Prediction with EDA and Machine Learning

Leave a Reply

Your email address will not be published. Required fields are marked *