Платформы по соревнованиям в анализе данных (DM)

Содержание

Слайд 3

Платформы по соревнованиям в анализе данных (DM)

Платформы по соревнованиям в анализе данных (DM)

Слайд 4

Преимущества Kaggle

Наиболее раскрученная платформа
Возможность запускать in-class соревнования
Крутые соревнования от топовых IT компаний
Красивый,

Преимущества Kaggle Наиболее раскрученная платформа Возможность запускать in-class соревнования Крутые соревнования от
простой сайт
Большое количество участников
Богатый форум
Датасеты
Туториалы
Скрипты
Поиск работы в Data Science
Крутой профайл на kaggle.com отличная строчка в резюме для каждого data scientist-а и не только ☺

Слайд 5

Как выглядят соревнования по DM?

Как выглядят соревнования по DM?

Слайд 6

Цикл решения задач DM

Цикл решения задач DM

Слайд 7

Понимание задачи

Определение и формулировании бизнес задачи
Оценка рисков, затрат, общего профита
Постановка DM целей
Определение

Понимание задачи Определение и формулировании бизнес задачи Оценка рисков, затрат, общего профита
критериев успешности
Выработка плана решения задач
Четкое понимание того что надо предсказать

Слайд 8

Понимание данных: Первый шаг

Сбор данных
Какие данные есть: сколько примеров, сколько признаков, какие

Понимание данных: Первый шаг Сбор данных Какие данные есть: сколько примеров, сколько
признаки по природе
Достаточно ли данных для решения задачи, есть ли необходимость собирать дополнительные данные

Слайд 9

Понимание данных: Второй шаг

Описательные статистики
Корреляции Пирсона, Спирмена
Проверка статистических гипотез (нормальность, проверку на

Понимание данных: Второй шаг Описательные статистики Корреляции Пирсона, Спирмена Проверка статистических гипотез
распределение)
Исследование распределений: гистограммы признаков, таргетов

Слайд 10

Подготовка данных

Выбор и интеграция данных
Форматирование данных
Предобработка данных: заполнение пропусков, определение выбросов, нормализация

Подготовка данных Выбор и интеграция данных Форматирование данных Предобработка данных: заполнение пропусков,
данных, т.д.
Выбор/экстракция признаков, сокращение размерности
Инженерия признаков
Разбиение на тренировочное, тестовое множества

Слайд 11

Построение моделей

Выбор подходящих моделей, соответствующих проверяемым гипотезам
Определение дизайна тестирования
Обучение моделей с настройкой

Построение моделей Выбор подходящих моделей, соответствующих проверяемым гипотезам Определение дизайна тестирования Обучение
гиперпараметров
Контроль overfitting/underfitting

Слайд 12

Оценка качества моделей

Анализ эффективности моделей на тестовом множестве: статистические гипотезы, корреляции
Вычисление метрик

Оценка качества моделей Анализ эффективности моделей на тестовом множестве: статистические гипотезы, корреляции
оценки качества моделей
Проверка overfitting/underfitting
Постпроцессинг
Достигнут ли желаемый результат?

Слайд 13

Развертывание системы

Финальный отчет по проекту
Выполнены ли все поставленные DM цели?
Удовлетворяют ли результаты

Развертывание системы Финальный отчет по проекту Выполнены ли все поставленные DM цели?
критерия успешности?

Слайд 15

Исследование распределений: Линеаризация

Исследование распределений: Линеаризация

Слайд 16

Предобработка данных

Преобразование категориальных переменных: OneHotEncoder, LabelEncoder
Преобразование категориальных переменных: hashing trick
Преобразование дат: pandas.TimeStamp,

Предобработка данных Преобразование категориальных переменных: OneHotEncoder, LabelEncoder Преобразование категориальных переменных: hashing trick
pandas.to_datetime, т.д.
Преобразование строк: regular expressions, т.д.

Слайд 17

Заполнение пропусков

Заполнение нулями
Заполнение следующими, предыдущими значениями (pandas.fillna)
Заполнение средними, модами, медианами (sklearn.preprocessing.Imputer)
Заполнение с

Заполнение пропусков Заполнение нулями Заполнение следующими, предыдущими значениями (pandas.fillna) Заполнение средними, модами,
использованием (авто)регрессии/сезонных моделей
Заполнение с использованием специальных адаптированных алгоритмов: MLE, kNN, EM, SVM, т.д.

Слайд 18

Определение выбросов

Определение через распределения: по квантилям, перцентилям, по другим правилам пальца
Определение через

Определение выбросов Определение через распределения: по квантилям, перцентилям, по другим правилам пальца
визуализацию, использую алгоритмы кластеризации (k-means, affinity propagation, ..), сокращения размерности (PCA, t-SNE, ..)
Определение через анализ построенных моделей, постпроцессинг
Определение через специальные адаптированные алгоритмы: OneClassSVM, EllipticEnvelope, IsolationForest

Слайд 19

Нормализация данных

Стандартная нормализация
Нормализация в 0-1 или в -1, 1(для нейроных сетей)
Стемминг, лемматизация,

Нормализация данных Стандартная нормализация Нормализация в 0-1 или в -1, 1(для нейроных
TF-IDF и другие методы для текста
Нормализация для звука
Вычитание среднего по всем пикселям, нормализация цветов для картинок

Слайд 20

Выбор признаков

Выбор через model-free методы: scikit-feature
Статистики (sklearn.feature_selection.SelectKBest)
Корреляции Пирсона, Спирмена
Выбор через model-based методы:
RandomForest

Выбор признаков Выбор через model-free методы: scikit-feature Статистики (sklearn.feature_selection.SelectKBest) Корреляции Пирсона, Спирмена
(rf.feature_importances_, PFI)
Lasso, ElasticNet (lr.coeffs_)
NN (DFS, HVS, PFI)
RFE (SVM, kNN, т.д.)

Слайд 21

Permutation Feature Importance

Permutation Feature Importance

Слайд 22

Deep Feature Selection

Li, Yifeng, Chih-Yu Chen, and Wyeth W. Wasserman. "Deep Feature

Deep Feature Selection Li, Yifeng, Chih-Yu Chen, and Wyeth W. Wasserman. "Deep
Selection: Theory and Application to Identify Enhancers and Promoters." Journal of Computational Biology 23.5 (2016): 322-336.

Слайд 23

Heuristic Variable Selection

Yacoub, Meziane, and Y. Bennani. "HVS: A heuristic for variable

Heuristic Variable Selection Yacoub, Meziane, and Y. Bennani. "HVS: A heuristic for
selection in multilayer artificial neural network classifier." Intelligent Engineering Systems Through Artificial Neural Networks, St. Louis, Missouri. Vol. 7. 1997.

Слайд 24

Экстракция признаков

Экстракция через визуальный анализ (handcrafted признаки)
Экстракция через model-based методы (NN, RandomForest,

Экстракция признаков Экстракция через визуальный анализ (handcrafted признаки) Экстракция через model-based методы
т.д.)
Экстракция через автоэнкодеры (AE) (Stacked AE, Denoising AE, т.д.)
Экстракция через методы сокращения размерности (PCA, kernel PCA, t-SNE)
Экстракция через методы кластеризации (kNN, AffinityPropagation, DBSCAN, т.д.)

Слайд 25

Инженерия признаков

Простейшие handcrafted признаки: среднее, дисперсия и т.п. по примеру
Исследование взаимодействия признаков

Инженерия признаков Простейшие handcrafted признаки: среднее, дисперсия и т.п. по примеру Исследование
между собой и признаков с таргетами
Handcrafted признаки, основанные на знании области (формулы, т.д.)
Введение зависимостей x1*x2, x1^2, sin(x1)*x2, log1p(x1), т.д.
Handcrafted признаки, основанные на анализе временных рядов (сезонность, т.д.)
Handcrafted признаки, основанные на правилах (правила переходов, т.д.)
Handcrafted признаки, основанные на пространственной зависимости примеров (ближайшие соседи, т.д.)

Слайд 26

Построение моделей

Simple data

Complex data

Построение моделей Simple data Complex data

Слайд 27

Обучение нейронных сетей

Использовать методы регуляризации для сетей: Dropout, BatchNormalization, weight decay
Использовать продвинутые

Обучение нейронных сетей Использовать методы регуляризации для сетей: Dropout, BatchNormalization, weight decay
активационные функции

ReLU

PReLU

Слайд 28

Обучение нейронных сетей

Обучение нейронных сетей

Слайд 29

Обучение нейронных сетей

Обучение нейронных сетей

Слайд 31

Модели победители на Kaggle соревнованиях

Использовать GBM из xgboost, random forest, regularized greedy

Модели победители на Kaggle соревнованиях Использовать GBM из xgboost, random forest, regularized
forest
Использовать NN из Theano (Keras, lasagne, blocks) или Tensorflow

Слайд 32

Технические Tips & Tricks

Делать верную предобработку данных
Правильно работать с нормализацией/выбросами/пропусками
Проводить визуальный анализ

Технические Tips & Tricks Делать верную предобработку данных Правильно работать с нормализацией/выбросами/пропусками
данных, чтобы лучше понять данные, извлечь высокоуровневые признаки
Делать сокращение размерности, выбор/экстрацию признаков model-free & model-based методами
Строить разные модели на разных данных
Выбрать правильные метрики
Выбрать верную кроссвалидацию
Правильно подбирать модель и ее гиперпараметры
Подбирать оптимальный порог предсказаний
Делать калибровку вероятностей моделей
Правильно работать с несбалансированными данными
Использовать аугментацию данных
Строить ансамбли моделей, т.е. делать стекинг (Stacking)

Слайд 33

Настройка гиперпараметров

Найти оптимальное подмножество данных на котором стоит обучаться и настраивать гиперпараметры

Настройка гиперпараметров Найти оптимальное подмножество данных на котором стоит обучаться и настраивать
моделей
Использовать следующую схему GridSearch, RandomSearch:
На первом шаге используем попараметровый grid search для большого количества значений
На втором шаге для лучших значений используем обычный GridSearch, RandomSearch
Использовать методы байесовской оптимизации:
baeys_opt для моделей sklearn
hyperopt для моделей нейронных сетей на Theano

Слайд 34

Оптимальный порог

Оптимальный порог

Слайд 35

Калибровка вероятностей

sklearn.calibration.CalibratedClassifierCV

Калибровка вероятностей sklearn.calibration.CalibratedClassifierCV

Слайд 36

Несбалансированные данные

Использовать методы балансировки данных: imbalanced-learn
Undersampling (SVM, kNN, NN)
Oversampling (SVM, kNN, NN)
Использовать

Несбалансированные данные Использовать методы балансировки данных: imbalanced-learn Undersampling (SVM, kNN, NN) Oversampling
методы генерирующие данные в процессе своего обучения (NN)
Использовать метрики для несбалансированных данных (F1-score, Matthews correlation cofficient)

Слайд 37

Спасибо за внимание! Вопросы?

Евгений Путин
Университет ИТМО
[email protected]

25 мая 2017
Санкт-Петербург

Спасибо за внимание! Вопросы? Евгений Путин Университет ИТМО putin.evgeny@gmail.com 25 мая 2017 Санкт-Петербург
Имя файла: Платформы-по-соревнованиям-в-анализе-данных-(DM).pptx
Количество просмотров: 55
Количество скачиваний: 0