/mlcourse_open

Репозиторий открытого курса OpenDataScience по машинному обучению

Primary LanguageJupyter Notebook

Открытый курс OpenDataScience по машинному обучению

ODS stickers

Основные темы

  1. Первичный анализ данных с Pandas
  2. Визуальный анализ данных с Python
  3. Классификация, деревья решений и метод ближайших соседей
  4. Линейные модели классификации и регрессии
  5. Композиции: бэггинг, случайный лес
  6. Построение и отбор признаков
  7. Обучение без учителя: PCA и кластеризация
  8. Обучаемся на гигабайтах: онлайн-подход и Vowpal Wabbit
  9. Анализ временных рядов с помощью Python
  10. Градиентный бустинг

Домашние задания

  1. Анализ данных по доходу населения UCI Adult, веб-форма для ответов, решение
  2. Визуальный анализ данных о публикациях на Хабрахабре, веб-форма для ответов, решение
  3. Деревья решений в игрушечной задаче и на данных Adult репозитория UCI, веб-форма для ответов, решение
  4. Линейные модели классификации и регрессии в соревнованиях Kaggle Inclass. Часть 1: идентификация взломщика, Часть 2: прогноз популярности статьи на Хабрахабре, веб-форма для ответов, решение 1 части, решение 2 части
  5. Логистическая регрессия и случайный лес в задаче кредитного скоринга, веб-форма для ответов, решение
  6. Работа с признаками. тетрадка, веб-форма для ответов, решение
  7. Метод главных компонент, t-SNE и кластеризация. тетрадка, веб-форма для ответов

Соревнования Kaggle Inclass

  1. Прогноз популярности статьи на Хабре
  2. Идентификация взломщика по последовательности переходов по сайтам

Рейтинг

В течение курса ведется рейтинг. На него влияют:

  • домашние задания (от 10 до 20 баллов за каждое)
  • соревнования Kaggle Inclass (за каждое 40(1−(p−1)/N) баллов, где p – место участника в приватном рейтинге, N – число участников, побивших все бенчмарки в приватном рейтинге)
  • разовые короткие контесты, объявляемые в slack OpenDataScience в канале #mlcourse_open (от 1 до 8 баллов)

Авторы статей и лекторы

(в скобках – ники в OpenDataScience и на Хабрахабре)

Юрий Кашницкий (@yorko, yorko)

Программист-исследователь Mail.ru Group, старший преподаватель факультета компьютерных наук ВШЭ, научный сотрудник Международной научно-учебной лаборатории интеллектуальных систем и структурного анализа ВШЭ. В прошлом — разработчик Hadoop, бизнес-аналитик и Java-программист РДТЕХ. Домашняя страница https://yorko.github.io/
Преподаватель в годовой программе дополнительного образования по анализу данных в ВШЭ, автор Capstone проекта специализации Яндекса и МФТИ "Машинное обучение и анализ данных"
У Юрия есть репозиторий с Jupyter-тетрадками по языку Python и основным алгоритмам и структурам данных

Павел Нестеров (@mephistopheies, mephistopheies)

Data Scientist в стартапе, который нельзя называть. Раньше - программист-исследователь Mail.Ru Group в департаменте рекламы, позже в департаменте поиска. Преподавал в Техносфере@Mail.Ru на базе МГУ ВМК. Еще раньше - программист-исследователь в сфере компьютерного зрения, до нейросетевой эпохи, в Aspose ltd. Домашняя страница http://pavelnesterov.info/
Павел пишет содержательные статьи на Хабре по нейронным сетям.

Екатерина Демидова (@katya, cotique)

Data Scientist в Segmento, г. Санкт-Петербург. Ментор специализации Яндекса и МФТИ "Машинное обучение и анализ данных"
У Кати есть репозиторий со списком книг/курсов/статей по Data Science

Мария Мансурова (@miptgirl, miptgirl)

Аналитик-разработчик в команде Яндекс.Метрики. До этого в Яндексе работала аналитиком ключевых показателей. В прошлом также успела поработать бизнес-аналитиком в компании-интеграторе в сфере телекоммуникаций.

Виталий Радченко (@vradchenko, vradchenko)

Data Science Intern в компании Ciklum. Студент магистерской программы Computer Science with Specialization in Data Science в Украинском Католическом Университете. Организовывает кагл-тренировки и другие активности по Data Science в Киеве и Львове. Был ментором специализации Яндекса и МФТИ "Машинное обучение и анализ данных". Раньше работал в банке, большой ритейл-компании и интернет-рекламе.

Арсений Кравченко (@arsenyinfo, Arseny_Info)

Data Science Team Lead @ gojuno.com. В прошлом - аналитик-разработчик в Яндексе и менеджер по продукту в Wargaming. Домашняя страница.

Сергей Королев (@libfun, libfun)

Исследователь в СколТехе

Дмитрий Сергеев (@dmitryserg, Skolopendriy)

Data Scientist @ Zeptolab, лектор в Центре Математических Финансов МГУ

Алексей Натекин (@natekin, natekin)

Основатель сообщества OpenDataScience и DM Labs, Chief Data Officer @ Diginetica. В прошлом – глава отдела аналитики Deloitte

Инструкция по установке Docker-контейнера

(необходимое ПО)

В курсе используется сборка библиотек Anaconda, тетрадки Jupyter, Xgboost, Vowpal Wabbit и некоторые другие библиотеки. Все это можно не устанавливать, а использовать Docker-контейнер (требования: около 4 Гб места на диске, 4 Гб RAM). Введение в Docker. Рекомендуется тем, кто использует Windows, c *NIX проще самостоятельно установить необходимое (см. Dockerfile).

Инструкция:

  • скачать данный репозиторий
  • на Windows скорее всего придется включить в BIOS виртуализацию, если раньше не использовали виртуальные машины или Docker
  • установить Docker
  • установить Docker Compose
  • перейти в командной строке/терминале в скачанный каталог mlcourse_open
  • выполнить docker-compose up. Первый раз это займет продолжительное время
  • открыть localhost:7777 (в файле docker-compose.yml можно поменять порт 7777 на любой другой)
  • далее можно выполнить тетрадку check_docker.ipynb и убедиться, что нужные библиотеки подключаются

Контейнеры Docker, как правило, занимают много места на диске.

  • docker ps – посмотреть весь список контейнеров
  • docker stop $(docker ps -a -q) – остановить все контейнеры
  • docker rm $(docker ps -a -q) – удалить все контейнеры
  • docker images - посмотреть весь список образов
  • docker rmi <image_id> – удалить ненужный образ

Доступная и понятная документация Docker с примерами