Аннотация
Это четветый курс в серии тренингов, посвященных языку программирования Python и его последующему применению в прикладных и практических задачах типа machine learning, big data, в задачах, связанных с информационной безопасностью и web-разработкой.
Программа
Модуль 1. Введение в машинное обучение
- Задачи, которые можно решить с помощью машинного обучения
- Постановка задач и знакомство с данными
- Почему нужно использовать Python?
- Установка scikit-learn
- Основные библиотеки и инструменты
- Jupyter Notebook
- NumPy
- SciPy Программа
Модуль 1. Введение в машинное обучение
- Задачи, которые можно решить с помощью машинного обучения
- Постановка задач и знакомство с данными
- Почему нужно использовать Python?
- Установка scikit-learn
- Основные библиотеки и инструменты
- Jupyter Notebook
- NumPy
- matplotlib
- pandas
- mglearn
- Построение вашей первой модели: метод k ближайших соседей
Модуль 2. Методы машинного обучения (часть 1)
- Классификация и регрессия
- Обобщающая способность, переобучение и недообучение
- Взаимосвязь между сложностью модели и размером набора данных
- Некоторые наборы данных
- Метод k ближайших соседей
- Линейные модели
- Наивные байесовские классификаторы
- Деревья решений
- Ансамбли деревьев решений
- Нейронные сети (глубокое обучение)
- Оценки неопределенности для классификаторов
- Решающая функция
- Прогнозирование вероятностей
- Неопределенность в мультиклассовой классификации
Модуль 3. Методы машинного обучения (часть 2)
- Предварительная обработка и масштабирование
- Различные виды предварительной обработки
- Применение преобразований данных
- Масштабирование обучающего и тестового наборов одинаковым образом
- Снижение размерности, выделение признаков и множественное обучение
- Анализ главных компонент (PCA)
- Факторизация неотрицательных матриц (NMF)
- Множественное обучение с помощью алгоритма t-SNE
- Кластеризация
Модуль 4. Типы данных и конструирование признаков
- Категориальные переменные
- Прямое кодирование (дамми-переменные)
- Числа можно закодировать в виде категорий
- Биннинг, дискретизация, линейные модели и деревья
- Взаимодействия и полиномы
- Одномерные нелинейные преобразования
- Автоматический отбор признаков
- Одномерные статистики
- Отбор признаков на основе модели
- Итеративный отбор признаков
- Применение экспертных знаний
Модуль 5. Оценка и улучшение качества модели
- Перекрестная проверка
- Перекрестная проверка в scikit-learn
- Преимущества перекрестной проверки
- Стратифицированная k-блочная перекрестная проверка и другие стратегии
- Решетчатый поиск
- Метрики качества модели и их вычисление
- Метрики для классификации
- Метрики регрессии
- Использование метрик оценки для отбора модели
Модуль 6. Объединение алгоритмов в цепочки и конвейеры
- Отбор параметров с использованием предварительной обработки
- Построение конвейеров
- Использование конвейера, помещенного в объект GridSearchCV
- Общий интерфейс конвейера
- Удобный способ построения конвейеров с помощью функции make_pipeline
- Работа с атрибутами этапов
- Выбор оптимальной модели с помощью решетчатого поиска
Модуль 7. Работа с текстовыми данными
- Строковые типы данных
- Представление текстовых данных в виде «мешка слов»
- Применение модели «мешка слов» к синтетическому набору данных
- Стоп-слова
- Масштабирование данных с помощью tf-idf
- Исследование коэффициентов модели
- Модель «мешка слов» для последовательностей из нескольких слов (n-грамм)
- Продвинутая токенизация, стемминг и лемматизация
- Моделирование тем и кластеризация документов
- Латентное размещение Дирихле
Модуль 8. Эпилог
- Общий подход к решению задач машинного обучения
- Вмешательство человека в работу модели
- Куда двигаться дальше
- Другие фреймворки и пакеты машинного обучения
- Ранжирование, рекомендательные системы и другие виды обучения
- Вероятностное моделирование, теория статистического вывода и вероятностное программирование
- Нейронные сети
- Масштабирование на больших наборах данных