Skip to content

Latest commit

 

History

History
189 lines (159 loc) · 10.9 KB

File metadata and controls

189 lines (159 loc) · 10.9 KB

1. Введение в Python и Juputer Notebook

  • Jupyter notebook
  • Основные типы данных в Python
  • Работа со списками
  • Функции в Python

Практика:

  • Считывание данных с клавиатуры
  • Печать данных
  • Преобразование строки в число
  • Форматирование строк
  • Парсинг файла с данными
  • Слайсы списков
  • Написать сортировку

2. ООП и библиотеки Python

  • Использование генераторов
  • ООП в Python
  • Библиотека math
  • Библиотека collections
  • Библиотека pickle

Практика:

  • создать функцию, принимающую на вход список и возвращающую список корней всех чисел, содержащихся в списке
  • создать функцию, принимающую на вход имя файла и возвращающее количество уникальных слов в каждой строке (файл может быть очень большим)
  • Посчитать количество каждого уникального элемента в данном списке (collections.Counter)
  • реализовать класс Heap
  • построить двоичную кучу из данного массива и сохранить ее в память

3. Линейные методы регрессии и классификации

  • Задачи регрессии и классификации
  • Линейные методы их решения
  • Вычисление скалярного произведения векторов
  • Вычисление произведения матриц
  • Градиентный спуск

Практика:

  • Написать функцию, принимающую на вход 2 вектора и возвращающую их скалярное произведение
  • Написать функцию, принимающую на вход 2 матрицы и возвращающую их произведение
  • Написать класс Heap

4. Библиотеки Numpy, Matplotlib, Pandas

  • Библиотека numpy
  • Операции над np.array
  • Визуализация графиков с помошью matplotlib
  • Формат данных csv
  • pandas.DataFrame для хранения данных

Практика:

  • Подсчет суммы, среднего значения, стандартного отклонения по строке/столбцу
  • Поэлементное сложение, умножение 2 массивов; сложение и умножение на константу
  • Написать функцию, принимающую на вход 2 вектора и возвращающую их скалярное произведение (numpy)
  • Построить гистограмму распределения некоторой величины
  • Считать .csv файл в дататфрейм; вывести количество колонок, название столбцов, количество пропусков по столбцам
  • Вывести статистику по датафрейму

5. Линейные методы регрессии и классификации средствами Numpy

  • Использование матричных операций
  • Линейные методы регрессии и классификации с использованием операций над np.array

Практика:

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

6. Библиотека scikit-learn

  • Обзор различных методов ML
  • модули sklearn
  • Предобработка данных
  • Линейная регрессия в sklearn
  • Оценка качества в задачах регрессии

Практика

  • Загрузка и предобработка датасета
  • Применение линейной регрессии к данным
  • Оценивание качества на кросс-валидации

7. Логистическая регрессия

  • Логистическая регрессия в sklearn
  • Проблема переобучения
  • Настройка гиперпараметров моделей
  • Класс BaseEstimator
  • Создание собственной модели sklearn

Практика

  • Реализовать адаптер для класса логистической регрессии из недели 5 для BaseEstimator
  • Подобрать гиперпараметр логистической регрессии на кросс-валидации
  • Визуализировать результат обучения

8. Задача классификации и методы ее решения

  • Задача классификации
  • Метрики качества в задаче классификации
  • Подходы к многоклассовой классификации
  • Методы классификации SVM, KNN, Naive Bayes

Практика:

  • Рассмотреть поведение разных метрик на различных датасетах
  • Рассмотреть поведение различных классификаторов на разных датасетах

9. Решающие деревья и ансамбли моделей

  • Решающие деревья
  • Работа с решающими деревьями
  • Ансамбли моделей на примере решающих деревьев
  • Стекинг

Практика:

  • Подборать оптимальные параметры решающего дерева решающего дерева
  • Построить зависимость качества классификации от количества и глубины деревьев в
    • случайном лесе
    • градиентном бустинге
  • Применить стекинг для улучшения качества классификации

10. Задача кластеризации и фильтрации шума

  • Задача кластеризации и методы решения.
  • Дендрограммы
  • Методы фильтрации шума

Практика:

  • Реализовать k-Means своими руками
  • Рассмотреть поведение различных алгоритмов кластеризации на различных синтетических датасетах
  • Сравнить качество классификации на датасете с очисткой от шумовых точек и без нее при различных типах шума

11. Понижение размерности пространства

  • Понижение размернсти признаковых пространств
  • Метод главных компонент
  • Многомерное шкалирование
  • t-SNE

Практика:

  • Реализовать PCA своими руками
  • Изобразить на плоскости облака точек для датасета MNIST для различных методов понижения размерности
  • Сравнить качество классификации Наивного Байесовского классификатора на исходном датасете и при различных методах понижения размерности

12. Изображения

  • Изображения
  • Восприятие изображения человеком
  • Фильтры Байера
  • Цветовые модели и преобразования

Практика:

13. Библиотека Pillow

  • Библиотека Pillow
  • Загрузка и сохранение изображений
  • Преобразование цветного изображения в чб
  • Гистограммы яркости и их анализ

Практика:

  • Преобразовать данное изображение в чб
  • Даны отдельно 3 канала изображения, собрать из них цветное
  • Для данного изображения построить гистограмму яркости по каждому из каналов и общую гистограмму яркости
  • Написать функцию, принимающую на вход изображение в RGB и относящую его к одному из классов:
    • Изображение нормальное
    • Изображение слишком темное
    • Изображение слишком светлое
    • Существенно преобладает один из каналов
    • Существенно проседает один из каналов

14. Улучшение качества изображения

  • Преобразования цветов на изображении
  • Levels
  • Curves
  • Улучшение качества изображения

Практика:

  • Преобразовать изображение из RGB в:
    • HSV
    • CMYK
    • YCbCr
  • Подобрать функциипреобразования цвета
    • Повышающие контрастность изображения
    • Уменьшающую контрастность изображения
    • Увеличивающие яркость изображения
    • Преобразующую изображение в негатив
  • Выровнять levels 2 разными способами и сравнить результаты

15. Сверточные операции

  • Линейные и нелинейные фильтры
  • Операция свертки
  • Размытие изображения

Практика:

  • Для данных сверток определить их назначение
  • Сравнить результаты применения фильтров Гаусса с различным ядром
  • Реализовать эффекты:
    • Neon Glow
    • Выделение границ изображения
    • Повышение резкости