All Projects → ded42r → stepik_course_4852_contest

ded42r / stepik_course_4852_contest

Licence: other
Варианты решений для соревнования в рамках курса "Введение в Data Science и машинное обучение" на stepic

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to stepik course 4852 contest

ghudegy cup
구데기컵 @ Baekjoon Online Judge
Stars: ✭ 35 (+52.17%)
Mutual labels:  contest
Software2017-18
software for SamurAI Coding 2017-18
Stars: ✭ 13 (-43.48%)
Mutual labels:  contest
competitive-dl
📁 Download any problem/problem set from any contest/archives from any competitive website as PDF for offline practice!
Stars: ✭ 22 (-4.35%)
Mutual labels:  contest
competitive-programming
Programming Solutions for OJs and Algorithms
Stars: ✭ 35 (+52.17%)
Mutual labels:  contest
KaloronaCodebase
Kalorona's codebase of OI.
Stars: ✭ 12 (-47.83%)
Mutual labels:  contest
HackaPanel
⌨️ Hacka{Iran}'s Contest Panel / IDE
Stars: ✭ 15 (-34.78%)
Mutual labels:  contest
cpAPI
A Flask API that gives updates about the upcoming contests on various Coding Platforms.
Stars: ✭ 13 (-43.48%)
Mutual labels:  contest
Awesome Competitive Programming
💎 A curated list of awesome Competitive Programming, Algorithm and Data Structure resources
Stars: ✭ 9,119 (+39547.83%)
Mutual labels:  contest
icie
Competitive programming IDE-as-a-VS-Code-plugin
Stars: ✭ 81 (+252.17%)
Mutual labels:  contest
cats-main
Programming contest control system
Stars: ✭ 33 (+43.48%)
Mutual labels:  contest
leetcode
Easy understand JS solutions for problems on leetcode which beats 90% at least.
Stars: ✭ 22 (-4.35%)
Mutual labels:  contest
extreme-carpaccio
Slicing and coding game
Stars: ✭ 116 (+404.35%)
Mutual labels:  contest
CoronaVirusDatabase
A repository for analyzing references and database of "gisanddata.maps.arcgis.com" website for Corona Virus.
Stars: ✭ 38 (+65.22%)
Mutual labels:  contest
BitsOJ
Offline Judge for competitive programming contests.
Stars: ✭ 16 (-30.43%)
Mutual labels:  contest
tlf
TLF - a console based ham radio contest logger
Stars: ✭ 41 (+78.26%)
Mutual labels:  contest
flutter contests
My entries for the flutter create contests.
Stars: ✭ 36 (+56.52%)
Mutual labels:  contest
developer-challenge
No description or website provided.
Stars: ✭ 36 (+56.52%)
Mutual labels:  contest
360contest
360Constest is an open source online platform that is capable to run contest marketplace sites aka 99designs clones designcrowd, zenlayout, logobids, etc. Supports image (logo, webdesign, etc), video (creative, etc), audio (voice-over, etc), text (content writing, blog, etc) contests
Stars: ✭ 13 (-43.48%)
Mutual labels:  contest
contest.js
Ready for contest use! Data structures and algorithms in pure JavaScript with zero dependency.
Stars: ✭ 14 (-39.13%)
Mutual labels:  contest
jd
2017 Global Data Challenge Hosted by JD Finance / JDD—2017京东金融全球数据探索者大赛 金融信贷需求预测
Stars: ✭ 73 (+217.39%)
Mutual labels:  contest

Описание

Здесь представлены 3 решения(в том числе финальное - 3 место) для соревнования, который дается в конце курса "Введение в Data Science и машинное обучение" на stepik.

В папке notebooks решения:

  1. model-baseline.ipynb - бейслайн который уже был. За основу взять признаки которые создавали в течении курса. ROC_AUC = 0.8845
  2. model-auto_features.ipynb - решение основанное на полностью автоматической генерации фич. ROC_AUC = 0.8926. За основу использовал библиотеки для автоматической генерации признаков featuretools и tsfresh.
  3. model-final.ipynb - финальное решение (авто фичи + парочку своих) ROC_AUC = 0.8933
  4. make_dataset_auto_features.ipynb - генерация датасетов для автоматических фич

Целевая пеменная принимает значение True, если пользователь имеет более 40 событий correct, и False в противном случае. В качестве модели используется RandomForest из sklearn.

Структура проекта (шаблон)

  • notebooks - каталог с блокнотами решений и создания прзнаков для обученя моделей
    • model-baseline.ipynb - бейслайн который уже был ROC_AUC = 0.8845
    • model-auto_features.ipynb - решение основанное на полностью автоматической генерации фич. ROC_AUC = 0.8926.
    • model-final.ipynb - финальное решение (авто фичи + парочку своих) ROC_AUC = 0.8933
    • make_dataset_auto_features.ipynb - генерация датасетов для автоматичских фич
  • libs - папка с кодом для генерации датасетов, признаков и вспомогательными модулями
    • data_iter1.py - признаки для модели(baseline) основанных на том что давали в курсе
    • data_iter_auto.py - признаки сгенерированные автоматически
    • data_iter_final.py - признаки для финальной модели в соревновании
  • data - папка с данными
    • event_data_train.zip - данные о действиях, которые совершают студенты со стэпами. Используются для обучения.
    • submissions_data_train.zip - данные о времени и статусах сабмитов к практическим заданиям. Используются для обучения.
    • events_data_test.zip - данные о действиях, которые совершают студенты со стэпами. Используются для прогноза.
    • submission_data_test.zip - данные о времени и статусах сабмитов к практическим заданиям. Используются для прогноза.
    • submission_example.csv - пример файла с предсказаниями.
    • course_data.json - дополнительный датасет с информацией о курсе Анализ данных в R. Содержит информацию о step-аx(доступна gо ключу steps), а также других сущностях курса.
    • hb_course_info.csv - дополнительный датасет c важной информацией о курсе, собранный в таблицу на основе данных из course_data.json. Удалены незначительные, на мой взгляд, признаки.
    • processed - каталог с сгенерированными датасетами готовыми для моделирования. Датасеты со сгенерированными признаками приложены
  • reports - в этой папке размещаются файлы с прогнозом
  • bin_models - в этой папке сохраняются бинарные файлы моделей.

В репозитории нет кода по подбору гиперпараметров и отбору признаков. Примеры можно найти в официальной документации:

  1. Отбор признаков
  2. Подбор гипер параметров модели
  3. Подбор модели

Соревнование

Задача нам уже знакома - нужно предсказать, сможет ли пользователь успешно закончить онлайн курс Анализ данных в R. Мы будем считать, что пользователь успешно закончил курс, если он правильно решил больше 40 практических заданий.

В данных:

  • submission_data_test.csv
  • events_data_test.csv

хранится информация о решениях и действиях для 6184 студентов за первые два дня прохождения курса. Это 6184 студентов, которые проходили курс в период с мая 2018 по январь 2019.

Используя данные о первых двух днях активности на курсе вам нужно предсказать, наберет ли пользователь более 40 баллов на курсе или нет.

В этих данных, вам доступны только первые дня активности студентов для того, чтобы сделать предсказание. На самом деле, используя эти данные, вы уже можете сделать прогноз. Например, если пользователь за первые два дня набрал 40 баллов, скорее всего он наберет более 40 баллов в дальнейшем. Чтобы подкрепить такие гипотезы, вы можете использовать данные, на которые мы исследовали в первых двух модулях курса, где для всех пользователей представлены все данные об их активности на курсе.

Оформление результатов

Итогом вашей работы должен стать csv файл c предсказанием для каждого студента из тестовых данных. Пример предсказания выглядит следующим образом.

Чтобы узнать точность ваших предсказаний, в качестве решения этого шага отпраьте файл с предсказаниями для каждого студента в указанном выше формате.

Убедитесь, что вы сформировали файл с предсказаними для всех 6184 студентов, для каждого студента должна быть предсказана вероятность, что он наберет более 40 баллов за курс. У вас есть 20 попыток засабмитить решения, в зачет пойдет наилучший вариант.

Результатом проверки этого задания будет значение ROC AUC score, именно по этому показателю мы и отберем победителей, успехов!

Завершение соревнования - 1 июня.

Описание данных

  • events_train.csv - данные о действиях, которые совершают студенты со стэпами

    • step_id - id стэпа
    • user_id - анонимизированный id юзера
    • timestamp - время наступления события в формате unix date
    • action - событие, возможные значения:
      • discovered - пользователь перешел на стэп
      • viewed - просмотр шага,
      • started_attempt - начало попытки решить шаг, ранее нужно было явно нажать на кнопку - начать решение, перед тем как приступить к решению практического шага
      • passed - удачное решение практического шага
  • submissions_train.csv - данные о времени и статусах сабмитов к практическим заданиям

    • step_id - id стэпа
    • timestamp - время отправки решения в формате unix date
    • submission_status - статус решения
    • user_id - анонимизированный id юзера
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].