Все больше компаний осознают значение данных и понимают условия правильной работы с ними для увеличения эффективности всего бизнеса. А профессионалы в области data science в настоящее время становятся одними из самых востребованных на рынке. В рамках это практического курсы мы заложим основу работы с данными с помощью языка Python и рассмотрим реализацию алгоритмов машинного обучения для решения типичных задач специалиста data scientist.
1. Data Science & Python (3 занятия)
1.1. Введение в Python
- История возникновения Python
- Преимущества и недостатки
- Синтаксис языка
- Типы данных
- Функции
- ООП — объектно ориентированное программирование
- Pythonic идиомы
- Мультипоточность
1.2. Инструменты. Подготовка данных
- IPython + JupyterHub
- Работа с файлами
- Регулярные выражения
- Парсинг текстов (beautiful soup, nltk, и др)
- Другие форматы — JSON, XML
- Параллельная обработка
1.3. Работа с данными
- Pandas
- Matplotlib/Ggplot
- Sklearn
- Numpy, Scipy
2. Machine learning (5 занятий)
2.1. Введение в машинное обучение
- Повторение необходимых элементов теории вероятностей и линейной алгебры
- Виды обучения и виды типичных задач
- Когда нужно и когда не нужно машинное обучение
2.2. Линейные модели для классификации и регрессии
- Градиентный спуск, целевые функции для обучения моделей
- Хэширование признаков (hashing trick)
- Квадратичные и кубические признаки
2.3. Непараметрические модели: метод ближайшего соседа и метод опорных векторов (SVM); Обучение без учителя (unsupervised learning): кластеризация и понижение размерности
- Метод ближайшего соседа
- Метод опорных векторов (SVM)
- Иерархическая кластеризация и алгоритм k-means
- Понижение размерности: алгоритмы MDS и PCA
Практика: kNN, SVM, k-means, PCA в sklearn
2.4. Обучение деревьев классификации и регрессии (CART)
- Энтропия и алгоритм ID3
- Бустинг и бэггинг для построения ансамблей
Практика: random forest и gradient boosting в sklearn, C5.0
2.5. Нейронные сети (deep learning)
- Композиционность и обучение представлений (representation learning)
- Градиентный спуск, дифференцирование сложных функций
- Типичная структура сети, целевые функции и используемые слои
- Свёрточные нейронные сети
Практика: сверточные нейронные сети в keras
Практические занятия
Каждое занятие ориентированно на практическое применение Python для анализа данных, вас также ждет много практики и домашних заданий по машинному обучению.