Открытый вебинар «Big Data: Построение процесса преобразования признаков с помощью sklearn pipeline» 14.03.2018 в 20:00 | OTUS >
+7 499 938-92-02
Проходил 14 марта 2018 года в 20:00

Открытый вебинар
Big Data: Построение процесса преобразования признаков с помощью sklearn pipeline

Открытый вебинар онлайн

На занятии познакомимся с основными техниками преобразования признаков, применим преобразование признаков на учебном датасете. Весь процесс построим с помощью sklearn pipeline. Разберём преимущества использования pipeline.
Преподаватель
Ксения Стройкова

Запись

О курсе

Разработчик BigData

В настоящее время каждый сервис или устройство генерируют огромное количество данных. С помощью методов машинного обучения из данных стало возможным извлекать полезные знания. По этой причине данные становятся самым ценным ресурсом в бизнесе, а умение извлекать из данных информацию - одним из самых востребованных умений.

Для того, чтобы внедрять использование данных в бизнесе, необходимо обладать набором специальных знаний и навыков.
Цель …

Программа курса
Модуль 1
Модуль 2
Модуль 3
Модуль 4
Модуль 5
Проект
Для разработки в области анализа данных необходимо понимать, как устроены основные алгоритмы, какая у них сложность и скорость работы, сколько требуется ресурсов для их успешной работы, область применимости.В первом модуле программы разбираются все базовые алгоритмы машинного обучения. Изучение проходит на сгенерированных данных, не требующих времени на преобразование и доработку. Разъясняется значение и влияние параметров алгоритмов на результат. Каждый этап обучения сопровождается наглядной визуализацией.Будут рассмотрены алгоритмы: линейная регрессия, логистическая регрессия, деревья решений, knn, SVM, k-means, EM, иерархическая кластеризация, DBScanВ результате слушатели уверенно освоят базовые алгоритмы анализа данных и инструменты для базового анализа данных на Python
Базовые инструменты анализа данных в Python.
Базовые инструменты анализа данных в Python.Подготовка к курсу. Git, окружение Python. Обзор курса.Введение в Python, Numpy, Pandas, Sklearn. API Sklearn. Обзор других инструментов анализа данных - R, Octave.Что такое DS, ML, основная терминология, классы решаемых задач.
Домашние задания: 1
ДЗ
Реализация библиотеки. Реализация библиотеки для подсчета статистик и преобразования датасетов в формате csv. Отработка инструментов для преобразования данных в pandas и sklearn.
Вводная в математические операции.
Интеграл, производная, их свойства, вероятность, плотность вероятности, мат.ожидание, дисперсия, ковариация, матричные вычисления, определитель, обратная матрица и т.п.
Визуализация
Визуализация на matplotlib, seaborn, plotly, bokeh. Визуализация геоданных на карте мира. Приемы для визуализации плотных данных. Визуализация для поиска корреляций
Домашние задания: 1
ДЗ
Построение визуализаций по данным
Линейная регрессия
Постановка задачи регрессии. Линейная регрессия. Полиномиальная регрессия. Проблема многомерных пространств и переобучения на примере регрессии. Проблема разреженных данных. Регуляризация. Применение линейной регрессии из sklearn на простом датасете. Оценка качества регресcии.
Логистическая регрессия
Математика логистической регрессии. Мультиклассовая регрессия. Оценка качества логистической регрессии. Регуляризация. Обучение регрессии, градиентный спуск. . Применение логистической регрессии из sklearn на простом датасете.
Домашние задания: 1
ДЗ
Реализация алгоритма логистической регрессии. Реализация алгоритма логистической регрессии на простых данных. Оценка качества, подбор параметров модели.
KNN, наивный байес
Алгоритм kNN. Влияние нормализации данных в kNN. Структуры данных для оптимизации kNN.Алгоритм наивного байеса. Байесовский классификатор, Принцип Maximum A-Posteriori
kMeans, EM
Обучение без учителя. Алгоритмы кластеризации, области применения. k-means. Оценка качества обучения, ограничения и подбор алгоритма для задачи.Байесов подход к вероятности. Алгоритмы с lower-bound. Em алгоритм.
Домашние задания: 1
ДЗ
Реализация EM-алгоритма. Реализация EM-алгоритма на простых данных. Оценка качества кластеризации.
Иерархическая кластеризация, DB-Scan
Иерархическая кластеризация, DB-Scan. Optics. Спектральная кластеризация.
От сгенерированных данных переходим к данным в табличном виде. Такие данные встречаются в конкурсах по анализу данных, а также могут быть собраны, например, напрямую из баз данных. Для применения алгоритмов машинного обучения обычно такие данные требуют дополнительных преобразований.Во втором модуле рассматриваются задачи преобразования и отбора признаков, вопросы подготовки данных для использования в машинном обучении.Также будут рассмотрены более сложные алгоритмы в анализе данных - понижение размерности, определение выбросов в данных, построение ансамблей моделей.
Feature engineering
Отбор признаков. Преобразование исходных данных в подходящий для модели формат. Преобразование признаков для повышения точности модели. Выбор части признаков.
Домашние задания: 1
ДЗ
Преобразование набора данных и подбор фич.
Поиск выбросов в данных
Уменьшение размерности
Principle component analysis, t-sne.
Домашние задания: 1
ДЗ
Применение снижения размерности для использования в модели.
Методы оптимизации
SGD, модификации SGD
Деревья решений
Классификация и регрессия с помощью деревьев решений. Алгоритм CART. Обзор алгоритмов. Выбор оптимального сплита, суррогатный сплит. Обзор реализации в sklearn.
Домашние задания: 1
ДЗ
Реализация алгоритма дерева решений на простых данных. Реализация некоторых эвристик в деревьях решений..
Ансамбли моделей
Случайный лес. Бустинг, бэггинг, стекинг, блендинг.
Бустинг
Xgboost, catboost, lightgbm, Стекинг, блендинг
Домашние задания: 1
ДЗ
Применение бустинга для построения лучшей модели.
SVM, Support vector machine
Разделяющая поверхность с максимальным зазором. Формулировка задачи оптимизации для случаев линейно-разделимых и линейно-неразделимых классов. Сопряженная задача. Опорные векторы. SVM для задач классификации и регрессии. Kernel trick. Теорема Мерсера. Примеры функций ядра.
Чаще всего в окружении, в котором приходится работать, данные не готовы для анализа, у них произвольный формат и много ошибок. Например, это данные из баз знаний, открытых API, данные из различных информационных систем партнеров.В третьем модуле рассматриваются вопросы сбора и очистки данных, разбираются типичные задачи бизнеса. Например, это предсказание ctr, ltv. Дополнительно рассмотрим специальные алгоритмы анализа данных - это работа с временными рядами, рекомендательными системами, текстами, графами.
Анализ текстовых данных
Сбор данных из открытых источников. Очистка данных, подготовка данных для анализа. Задача обработки текста. Введение, обзор задач, токенизация, лемматизация. Обзор библиотек для Python для работы с русским и английским языками. TF-IDF.
Домашние задания: 1
ДЗ
Реализация процесса сбора данных через API. Преобразование текста, подготовка текста для анализа. Применение машинного обучения для предсказания характеристики в собранных данных
Анализ текстовых данных
Выделение объектов в тексте. Word2vec. Анализ тональности. Автоматическое реферирование и тэгирование, классификация текстов.
Рекомендательные системы
Коллаборативная фильтрация, контентная фильтрация, гибридные подходы. Метрики оценки качества рекомендации.
Домашние задания: 1
ДЗ
Применение алгоритма рекомендаций для датасета фильмов.
Временные ряды
Постановка задачи. Экспоненциальное сглаживание. Стационарность. SARIMA. Выбор признаков во временных рядах. Применение моделей машинного обучения
Latent Dirichlet Allocation
Нейронные сети, часть 1
1. Вычислительные графы и фреймворк Pytorch.
2. Базовые определения нейронных сетей.
3. Алгоритм обучения нейронных сетей.
Домашние задания: 1
ДЗ
Временные ряды. Участие в конкурсе https://www.kaggle.com/c/rossmann-store-sales/

1. Скачать данные, провести базовый разведочный анализ
2. Построить простую модель и реализовать подбор параметров и кросс-валидацию для данных с учетом наличии времени в данных
3. Подобрать признаки и модель и улучшить результат на кросс-валидации
4. Применить разобранный на занятии подход с признаками, характеризующими прошлое (lag). Получилось ли улучшить модель?
5. Выбрать лучшую модель на экспериментах и сделать Late submit.

Прислать нужно блокнот, в котором отражен весь процесс работы над задачей (присутствуют все пункты задания) и ник на kaggle и позицию в лидерборде.

Замечание: нельзя смотреть на private leaderboard до окончания работы над заданием.

Дополнительное (необязательное) задание
Разобрать три любых блокнота из kernels (из тех, которые покажутся осмысленными), применить какую-либо идею для улучшения модели. Отразить в отчете, получилось ли улучшить модель.

Замечание: в зависимости от желания и наличия времени предлагается продолжить работать над задачей и улучшить результат.
Нейронные сети, часть 2
1. Почему нужен Deep Learning?
2. Эффективная оптимизация НС в Pytorch.
3. Сверточные нейронные сети.
Домашние задания: 1
ДЗ
Нейронные сети. 1. Реализовать процедуру обучения простой полносвязной сети. Входные условия:
а) Архитектура: 2 скрытых слоя по 50 нейронов
б) Двухклассовая задача классификации для датасета make_moons в sklearn
в) Операции должны быть записаны в матричном виде (целиком для слоя, а не отдельно для каждого нейрона)
г) Функция потерь: кросс-энтропия. Алгоритм: градиентный спуск с моментумом.
д) Визуализировать разделяющую поверхность.
2. Реализовать и обучить сверточную нейронную сеть на Pytorch -- архитектура на ваш выбор. На датасете CIFAR10 (доступен в torchvision).
Алгоритмы на графах
Социальные сети, выделение сообществ
Большую часть времени любого разработчика процессов анализа данных занимает разработка самого процесса по преобразованию данных на разных этапах. Предполагаются этапы сбора, очистки, агрегации данных, построения модели и предсказания характеристик. В четвертом модуле рассматриваются возможности построения надежных процессов преобразования данных.В более крупных компаниях данные превышают возможности одной типичной разработческой машины. Появляется потребность работы с алгоритмами, обрабатывающими данные в потоке, а также с кластером. В четвертом модуле разбираются процессы преобразования данных, слои данных, потоки данных и различные способы хранения и преобразования таких данных на кластере. Разберем возможности построения моделей на кластере. К концу модуля слушатели смогут уверенно использовать стек технологий Hadoop: писать задачи на MapReduce с использованием Java или Hadoop Streaming, использовать Hive и Spark для быстрого преобразования данных, расчета статистик, построения моделей на кластере.
Процесс CRISP-DM. Выбор хранилища, запросы к базе (Реляционная, нереляционная). Большие данные и параллельные вычисления.
Кластер, hdfs, запросы к hdfs. Map Reduce, Java, Python, Необходимость в кластерных вычислениях. Парадигма MapReduce. Инструменты работы с большими данными. Hadoop, Spark, обзор других компонентов экосистемы. Развертывание кластера Hadoop локально для выполнения учебных примеров. Выполнение учебных примеров на кластере.
Домашние задания: 1
ДЗ
Настройка окружения для локальной работы с кластером. Выполнение на локальном кластере набора учебных задач..
Vowpal Wabbit для обучения линейных моделей на одной машине
MapReduce на Java, Hadoop Streaming - MapReduce на Python, bash
Домашние задания: 1
ДЗ
Реализация алгоритма с использованием MapReduce.
Пайплайны. Способы выстроить поток задач, обеспечить выполнение. Отказоустойчивость, мониторинг.
Слои данных для оптимизации процессов использования данных. Hive.
Домашние задания: 1
ДЗ
Реализация алгоритма с использованием Hive.
Организация хранения данных для решения задач машинного обучения
Spark
Spark как инструмент быстрого доступа к данным. Spark как инструмент для машинного обучения.
Домашние задания: 1
ДЗ
Реализация алгоритма с использованием Spark.
Обзор решений для аналитики больших данных
Vertica, Clickhouse. Основные преимущества и недостатки, для хранения и обработки данных.
Агрегация, управление, эксперименты, анализ, визуализация и BI
Проект
В рамках курса предусмотрена защита проекта. Проект представляет из себя программный комплекс, решающий задачу извлечения и использования знаний из реальных данных с использованием машинного обучения. Проект готовится в течение месяца и включает в себя следующие этапы:- Постановка задачи. Предлагается самостоятельно найти предметную область и обосновать применение в ней машинного обучения- Разработка данных. Одно из требований к проекту - Использование данных из открытых источников. Необходимо разработать процесс сбора и очистки данных- Поиск алгоритма и модели для решения задачи. Необходимо выполнить подготовку данных, выбрать алгоритм и подобрать параметры для построения модели- Использование модели для достижения поставленной цели. Необходимо реализовать применение разработанной модели- Построение процесса. Решение задачи необходимо оформить в единый процесс по обработке данных от источника до предсказания, не требующий участия эксперта- Обоснование процесса

Преподаватель

Ксения Стройкова
В области информационных технологий работает с 2012 года.
Опыт программирования 5 лет. Владеет языками Python (в том числе стек библиотек для научных вычислений), Java (применение на кластере Hadoop). Работает с технологиями MapReduce, Hive, Spark.
Программист в отделе анализа данных в департаменте рекламных технологий Mail.Ru. Занимается разработкой и внедрением процессов и моделей по обработке данных для использования в рекламе.
В настоящее время участвует в разработке хранилища данных для использования в рекламных сервисах, участвует в разработке системы для сегментирования аудиторий.

Преподает курс “Алгоритмы интеллектуальной обработки больших объемов данных” в Техносфере Mail.ru
Закончила Технопарк Mail.Ru
В 2014г. закончила МГТУ им. Н. Э. Баумана по специальности программное обеспечение ЭВМ и Информационные технологии.